github.com/ludo-technologies/pyscn
v1.29.1
#1657 most downloaded on Go modules
ludo-technologies/pyscn
What this package is like to depend on
Last release 7 days ago
16 Aug 2026
Ships fairly regularly
a new release about every 9 days
Nearly every release is documented
notes for 75 of 75 stable releases
Nothing withdrawn
no release was ever pulled
11 months old
115 releases · first in 2025
115 releases in the last 12 months
see the full history below
Release timeline
115 releases · Sep 2025 to Aug 2026Releases
latest 60 of 115-
v1.29.2-0.20260816153121-f4f569ca4ded16 Aug 2026 pre-releaseNothing published for this version
-
v1.29.116 Aug 2026Release notes
Open source →What's Changed
- feat(complexity): add per-function SLOC metric and long-function warnings (#551) by @DaisukeYoda in #660
- fix(analyzer): stop cognitive complexity from crossing scope boundaries (#658) by @DaisukeYoda in #661
- fix: make dependency analysis scale by @M-Hassan-Raza in #695
- fix: derive single-responsibility concerns from fan-out only by @DaisukeYoda in #700
- fix(config): stop config discovery at the target repository root by @DaisukeYoda in #701
- docs(ci): record the tag ruleset as what gates registry publishing by @DaisukeYoda in #684
- fix(parser): reject legacy syntax no Python 3 release accepts by @DaisukeYoda in #702
- build(deps): bump the go-dependencies group with 3 updates by @dependabot[bot] in #699
- fix(check): fail the gate on files that cannot be parsed by @DaisukeYoda in #703
- fix: --min-complexity filters the analysed function set, not just the report:... by @yhay81 in #697
- chore: bump polyscan core to v0.2.2 (APTED/LSH optimizations) by @DaisukeYoda in #707
- chore: translate Japanese code comments to English by @DaisukeYoda in #713
- fix: gate all analyzed functions by @sanmaxdev in #712
- fix: make class ranking ties deterministic by @sanmaxdev in #710
- migrate: adopt core parse-error penalty by @DaisukeYoda in #714
- docs: update CHANGELOG for v1.29.1 by @DaisukeYoda in #715
Full Changelog: v1.29.0...v1.29.1
Release notes
Open source →Added
- Per-function SLOC metric and long-function warnings in check and the HTML report (#660)
Changed
- Adopt polyscan core parse-error penalty (#714)
- Bump polyscan core to v0.2.2 with APTED/LSH optimizations (#707)
- Make dependency analysis scale on large graphs (#695)
- Translate remaining Japanese code comments to English (#713)
Fixed
- Stop cognitive complexity from crossing scope boundaries (#661)
- Gate all analyzed functions in
check, not just the reported ones (#712) - Make class ranking ties deterministic (#710)
- Fail the
checkgate on files that cannot be parsed and gate clone detection (#703) - Reject legacy Python 2 syntax that no Python 3 release accepts (#702)
- Discover config from the analyzed target and stop at its repository root (#701)
- Derive single-responsibility concerns from fan-out only (#700)
- Keep
--min-complexityfrom shrinking the analyzed function set and health score (#697)
-
v1.29.027 Jul 2026Release notes
Open source →What's Changed
- fix(domain): preserve architecture suggestion identity by @yhay81 in #652
- docs: serve documentation at docs.codescan.dev by @DaisukeYoda in #685
- Add per-module quality hotspot metrics by @M-Hassan-Raza in #686
- Add per-directory complexity rollups by @M-Hassan-Raza in #687
- fix(domain): add dedup and file_path/start_line for architecture suggestions (#647) by @DaisukeYoda in #648
- docs: update CHANGELOG for v1.29.0 by @DaisukeYoda in #688
Full Changelog: v1.28.0...v1.29.0
Release notes
Open source →Added
- Per-module quality hotspot metrics in analyze reports (#686)
- Per-directory complexity rollups in analyze reports (#687)
Changed
- Serve documentation at docs.codescan.dev (#685)
Fixed
- Dedupe architecture suggestions and add
file_path/start_line(#648)
-
v1.28.1-0.20260725165332-a467b1f2bc5325 Jul 2026 pre-releaseNothing published for this version
-
v1.28.025 Jul 2026Release notes
Open source →What's Changed
- docs: point cross-language link to polyscan instead of archived jscan by @DaisukeYoda in #681
- feat(mcp): list pyscn in the MCP Registry and Glama by @DaisukeYoda in #682
- docs: update CHANGELOG for v1.28.0 by @DaisukeYoda in #683
Full Changelog: v1.27.0...v1.28.0
Release notes
Open source →Added
- List the pyscn MCP server in the official MCP Registry and Glama (#682)
Changed
- Point the cross-language link to polyscan instead of the archived jscan (#681)
-
v1.27.024 Jul 2026Release notes
Open source →What's Changed
- migrate: adopt core/clone from polyscan (grouping, dedup, similarity gates, classifier) by @DaisukeYoda in #664
- test: cover mock data use case by @sanmaxdev in #665
- fix(analyzer): exclude Cython primitive types from CBO dependent classes (#644) by @DaisukeYoda in #646
- docs(website): document Agent Skills as a recommended AI integration by @DaisukeYoda in #668
- migrate: adopt core APTED from polyscan by @DaisukeYoda in #669
- migrate: adopt core CFG analyses by @DaisukeYoda in #670
- docs(website): redesign homepage with CFG diagram hero by @DaisukeYoda in #671
- migrate: adopt core graph analyses by @DaisukeYoda in #672
- migrate: adopt core LSH, LCOM, DFA, and semantic evidence from polyscan by @DaisukeYoda in #673
- migrate: adopt core scoring and grade mapping from polyscan by @DaisukeYoda in #674
- Fix module-qualified enum coupling by @ColumbusLabs in #675
- feat(report): link reports and CLI output back to the GitHub repo by @DaisukeYoda in #679
- docs: update CHANGELOG for v1.27.0 by @DaisukeYoda in #680
New Contributors
- @ColumbusLabs made their first contribution in #675
Full Changelog: v1.26.4...v1.27.0
Release notes
Open source →Added
- Link HTML reports and CLI output back to the pyscn GitHub repository (#679)
Changed
- Adopt polyscan core clone grouping, dedup, similarity gates, and classification (#664)
- Adopt polyscan core APTED tree edit distance (#669)
- Adopt polyscan core CFG analyses (#670)
- Adopt polyscan core graph analyses (#672)
- Adopt polyscan core LSH, LCOM, DFA, and semantic evidence (#673)
- Adopt polyscan core scoring and grade mapping (#674)
- Redesign the website homepage with a CFG diagram hero (#671)
- Document Agent Skills as a recommended AI integration on the website (#668)
Fixed
- Exclude Cython primitive types from CBO dependent classes (#646)
- Fix module-qualified enum coupling in CBO (#675)
-
v1.26.5-0.20260718131126-a7b1cfcf080b18 Jul 2026 pre-releaseNothing published for this version
-
v1.26.417 Jul 2026Release notes
Open source →What's Changed
- fix(analyzer): exclude same-file top-level peer classes from CBO (#637) by @DaisukeYoda in #639
- fix(mcp): propagate analyze recursive override by @yhay81 in #656
- docs(mcp): correct configuration discovery by @yhay81 in #650
- fix(mcp): publish implemented output controls by @yhay81 in #651
- fix(check): fail on malformed discovered .pyscn.toml by @yhay81 in #654
- refactor!: unify request bool override semantics by @yhay81 in #649
- fix(architecture): default StrictMode to false when auto-detecting layers without user config (#659) by @DaisukeYoda in #662
- docs: update CHANGELOG for v1.26.4 by @DaisukeYoda in #663
Full Changelog: v1.26.3...v1.26.4
Release notes
Open source →Changed
- Unify request bool override semantics with sparse optional fields (#649)
- Correct MCP configuration discovery documentation (#650)
Fixed
- Default architecture strict mode to false when auto-detecting layers without user config (#662)
- Propagate
recursiveoverride in MCP analyze tool (#656) - Fail
checkcommand on malformed discovered.pyscn.toml(#654) - Publish only implemented output controls in MCP tool schemas (#651)
- Exclude same-file top-level peer classes from CBO coupling (#639)
-
v1.26.310 Jul 2026Release notes
Open source →What's Changed
- fix: ignore module constants in CBO dependencies by @sanmaxdev in #638
- feat(complexity): report pre-filter function count in summary (#597) by @DaisukeYoda in #635
- docs: update CHANGELOG for v1.26.3 by @DaisukeYoda in #645
Full Changelog: v1.26.2...v1.26.3
Release notes
Open source →Added
- Report pre-filter function count (
functions_total) in complexity summary (#635)
Fixed
- Ignore imported module constants (e.g.
re.DOTALL) in CBO dependencies (#638)
-
v1.26.209 Jul 2026Release notes
Open source →What's Changed
- feat(analyzer): exclude abstract methods from LCOM4 grouping (#559) by @DaisukeYoda in #625
- fix(app): apply exclude patterns when all paths are pre-resolved files (#590) by @DaisukeYoda in #629
- test(analyzer): pin LCOM4 InstanceVariables regression for issue #627 by @DaisukeYoda in #630
- fix(cbo): exclude annotation-only deps under PEP 563 future annotations by @vaishnavidesai09 in #634
- fix: report only detected clone fragments by @sanmaxdev in #633
- fix(config): honor explicit threshold overrides matching defaults by @DaisukeYoda in #560
- refactor(config): unify MergeConfig on zero-value sentinels, remove FlagTracker by @DaisukeYoda in #640
- docs: update CHANGELOG for v1.26.2 by @DaisukeYoda in #642
New Contributors
- @vaishnavidesai09 made their first contribution in #634
Full Changelog: v1.26.1...v1.26.2
Release notes
Open source →Changed
- Unify config merge logic on zero-value sentinels and remove the legacy FlagTracker mechanism (#640)
Fixed
- Exclude abstract methods from LCOM4 grouping so abstract base classes aren't penalized (#559)
- Apply exclude patterns when all input paths are pre-resolved files (#590)
- Exclude annotation-only dependencies from CBO under PEP 563 future annotations (#628)
- Report only clone fragments referenced by returned clone pairs/groups (#631)
- Honor explicit complexity threshold overrides that equal the default (#553)
-
v1.26.105 Jul 2026Release notes
Open source →What's Changed
- docs(readme): refresh Features section with five analysis angles by @DaisukeYoda in #621
- docs(readme): clarify DI anti-pattern detection is opt-in by @DaisukeYoda in #622
- feat(service): fix test-file exclude patterns not matching nested paths (#532) by @DaisukeYoda in #623
- docs: update CHANGELOG for v1.26.1 by @DaisukeYoda in #624
Full Changelog: v1.26.0...v1.26.1
Release notes
Open source →Fixed
- Test-file exclude patterns (
test_*.py,*_test.py) not matching files in nested directories (#532)
Changed
- Refresh README Features section with five analysis angles (#621)
- Clarify DI anti-pattern detection is opt-in in README (#622)
-
v1.26.003 Jul 2026Release notes
Open source →What's Changed
- fix(cbo): don't count a class defined within a class as coupling by @StressTestor in #562
- feat(claude-plugin): split single skill into focused agent skills by @DaisukeYoda in #618
- docs: recommend Agent Skills install via add-skills, make skills CLI-first by @DaisukeYoda in #619
- docs: update CHANGELOG for v1.26.0 by @DaisukeYoda in #620
Full Changelog: v1.25.0...v1.26.0
Release notes
Open source →Added
- Add
cli-analysisAgent Skill for CI setup and report generation without MCP
Changed
- Split the plugin's single skill into
health-check,refactoring, andarchitecture-reviewskills for better trigger accuracy
Fixed
- Move the plugin skill into
skills/<name>/SKILL.mdso Claude Code discovers it; the previous flatskills/SKILL.mdlayout was never loaded - Document the plugin install path on the website MCP page and correct the Claude Code setup instructions (
claude mcp add, notclaude_desktop_config.json) - Don't count a class defined within a class as CBO coupling (#562)
-
v1.25.001 Jul 2026Release notes
Open source →What's Changed
- feat(analyzer): build CommunityGraph from DependencyGraph (issue #579) by @DaisukeYoda in #587
- feat(analyzer): implement deterministic Leiden community detection (issue #580) by @DaisukeYoda in #589
- [communities] Domain types, service & use-case wiring for community analysis by @DaisukeYoda in #591
- fix: collapse enum member CBO dependencies by @sanmaxdev in #594
- [communities] CLI --select communities + [communities] config (opt-in) by @DaisukeYoda in #592
- feat(service): community analysis JSON formatter (#584) by @DaisukeYoda in #596
- [communities] Text/HTML/YAML/CSV/DOT summary output by @DaisukeYoda in #598
- [communities] Test suite & documentation for community detection by @DaisukeYoda in #599
- feat(communities): add package mismatch scoring by @DaisukeYoda in #607
- feat(communities): layer mismatch scoring by @DaisukeYoda in #608
- docs: clarify architecture defaults by @sanmaxdev in #606
- feat(communities): community risk score + Health Score integration by @DaisukeYoda in #609
- feat(communities): interactive macro-architecture graph in HTML report by @DaisukeYoda in #610
- feat(communities): AI-agent context map + MCP docs by @DaisukeYoda in #611
- Graduate community detection default analyze by @LunaHeys in #612
- [codex] fix src-layout community graph edges by @LunaHeys in #613
- fix: drop clone groups without backing pairs by @sanmaxdev in #615
- chore(deps): bump the go-dependencies group with 4 updates by @dependabot[bot] in #614
- docs: add multilingual README translations by @DaisukeYoda in #616
- docs: update CHANGELOG for v1.25.0 by @DaisukeYoda in #617
New Contributors
- @sanmaxdev made their first contribution in #594
Full Changelog: v1.24.3...v1.25.0
Release notes
Open source →Added
- Build a community graph from the dependency graph (#579)
- Deterministic Leiden community detection (#580)
- Domain types, service, and use-case wiring for community analysis (#582)
- CLI
--select communitiesand[communities]config, opt-in (#583) - Community analysis JSON formatter (#584)
- Text/HTML/YAML/CSV/DOT community summary output (#585)
- Package mismatch scoring (#600)
- Layer mismatch scoring (#601)
- Community risk score with Health Score integration (#602)
- Interactive macro-architecture graph in the HTML report (#603)
- AI-agent context map and MCP documentation (#604)
Changed
- Run module community detection in default
pyscn analyze; opt out with--skip-communitiesor[communities] enabled = false(#605) - Bump Go dependencies (#614)
Fixed
- Drop clone groups without backing pairs (#615)
- Resolve src-layout community graph imports (#613)
- Collapse enum member CBO dependencies (#594)
-
v1.24.4-0.20260621124121-8b352fabae5021 Jun 2026 pre-releaseNothing published for this version
-
v1.24.321 Jun 2026Release notes
Open source →Changed
- Integrate clone statistics into detector result types (#561)
Fixed
- Count self.<property> reads as method-call edges in LCOM (#558)
-
v1.24.215 Jun 2026Release notes
Open source →Changed
- Use cognitive complexity metrics for complexity risk assessment (#552)
- Change duplication metric from group density to fragment ratio (#555)
Fixed
- Prefer highest-similarity clone type for group classification (#556)
- Group namespace import members so CBO isn't inflated by member explosion (#554)
-
v1.24.113 Jun 2026Release notes
Open source →Fixed
- Populate fragment hash in clone output (#549)
- Suppress clone groups covered by another group's larger windows (#548)
- Calibrate progress bar with actual task timings (#541)
-
v1.24.1-0.20260611155443-fb3fe92d19e211 Jun 2026 pre-releaseNothing published for this version
-
v1.24.011 Jun 2026Release notes
Open source →Changed
- Speed up clone detection by reusing APTED DP matrices and parallelizing pair comparison (#538)
Fixed
- Preserve every elif in a chain so complexity isn't undercounted (#537)
-
v1.23.3-0.20260610163751-73acc60dfdf310 Jun 2026 pre-releaseNothing published for this version
-
v1.23.210 Jun 2026Release notes
Open source →Fixed
- Stop counting imported function calls as class dependencies in CBO analysis (#535)
- Penalize Type-4 similarity for disjoint string literal vocabularies (#534)
-
v1.23.108 Jun 2026Release notes
Open source →Changed
- Soften CBO coupling scoring calibration (#528)
- Soften LCOM cohesion scoring calibration (#530)
-
v1.23.007 Jun 2026Release notes
Open source →Added
- Architecture style presets (
layered,hexagonal,clean,mvc) for dependency rule configuration (#520, #521, #523, #526)
Fixed
- Merge overlapping unreachable findings in dead code detection (#519)
- Architecture style presets (
-
v1.22.10-0.20260606083018-95c1dbf2fbec06 Jun 2026 pre-releaseNothing published for this version
-
v1.22.904 Jun 2026Release notes
Open source →Fixed
- Clear dependency CVEs and suppress math/rand false positive in security report (#513)
- Exclude lazy function-body imports from circular dependency detection while retaining them as edges (#514)
Changed
- Consolidate cognitive complexity into the analyzer layer (#515)
-
v1.22.9-0.20260604023731-87c111c2125104 Jun 2026 pre-releaseNothing published for this version
-
v1.22.803 Jun 2026Release notes
Open source →Fixed
- Register plugin MCP server by moving the manifest into a nested
.claude-plugin/directory (#509)
Changed
- Bump Go dependencies (#504)
- Upgrade golangci-lint-action to v7 (#507)
- Register plugin MCP server by moving the manifest into a nested
-
v1.22.8-0.20260602115924-1200c3e3a0f902 Jun 2026 pre-releaseNothing published for this version
-
v1.22.702 Jun 2026Release notes
Open source →Fixed
- Collect module imports from else/except/finally branches with branch-aware TYPE_CHECKING filtering (#502)
- Populate per-fragment
idandtypein clone group output (#503) - Reuse detector-owned clone feature cache when building LSH MinHash signatures (#505)
-
v1.22.7-0.20260531122806-37e15392771f31 May 2026 pre-releaseNothing published for this version
-
v1.22.631 May 2026Release notes
Open source →Fixed
- Propagate nested function CFGs and reset builder state between builds (#497)
- Fix DFA compound-statement use contracts: match pattern bindings, definition scopes, and parameter/function-header uses (#498)
- Skip trailing-semicolon empty statements in dead code detection (#500)
-
v1.22.530 May 2026Release notes
Open source →Fixed
- Fix analyzer import and report contracts (dependency traversal, module imports, comprehension fields) (#495)
- Escape HTML report output to prevent markup injection (#495)
-
v1.22.427 May 2026Release notes
Open source →Fixed
- Exclude Django migration files from analysis defaults (#489)
- Compute TotalClones from clone group membership, not all fragments (#487)
-
v1.22.4-0.20260527152838-05237680ad4a27 May 2026 pre-releaseNothing published for this version
-
v1.22.326 May 2026Release notes
Open source →Fixed
- Preserve clone group type classification (#484)
- Preserve
skip_docstringsconfig in clone detection (#483) - Detect external ctypes fields and broaden ctypes base detection in LCOM (#480)
-
v1.22.224 May 2026Release notes
Open source →Fixed
- Resolve CBO dependency identity and tighten import contracts to fix coupling miscounts (#474)
- Expose
WeightedViolationsso architectureComplianceScoreis reproducible (#476)
-
v1.22.123 May 2026Release notes
Open source →Fixed
- Populate
SystemAnalysisResponse.Summaryso analyze reports aggregate system metrics correctly (#472)
Documentation
- Add French translation (#470)
- Tidy mkdocs header logo (#469)
- Populate
-
v1.22.022 May 2026Release notes
Open source →Fixed
- Preserve complexity metric fallbacks and use AST counts for consistent reporting (#466)
- Compute module-level cognitive complexity metrics (#464)
- Honor APTED cost model and tighten distance handling for large trees (#454)
Documentation
- Clarify that large-tree APTED is a bounded heuristic for clone detection (#467)
Testing
- Add LCOM use case unit tests (#459)
- Add unit tests for
app/di_antipattern_usecase.go(#461)
-
v1.21.119 May 2026Release notes
Open source →Fixed
- Gate Type-4 clone classification on minimum CFG cyclomatic complexity to cut linear-shape false positives (#450)
-
v1.21.018 May 2026Release notes
Open source →Performance
- Speed up the full
analyzepipeline by reusing parsed files and the system dependency graph, scoring APTED pairs once, and using integer LSH candidates (#438)
Fixed
- Count rule invocations (not violations) in architecture
ComplianceScoredenominator (#448, #426) - Exit non-zero when output generation fails in the
analyzecommand (#437, #249)
- Speed up the full
-
v1.20.016 May 2026Release notes
Open source →Added
- Honor semantic Type-4 clone classification with unified parser traversal and DFA field contracts (#435)
Fixed
- Drop strict-subset members from clone groups and keep dedupe outputs consistent (#432, #416)
- Auto-enable LSH for high pair counts in clone detection (#433, #427)
-
v1.19.313 May 2026Release notes
Open source →Fixed
- Fix DFA extraction for
withstatement alias targets (#424) - Honor analyze config flags by preserving system defaults and validating selection (#425)
- Avoid resolving stdlib imports to shadowing project modules (#429)
- Structurally model
with-statement aliases in DFA viaNodeWithItem(#430)
- Fix DFA extraction for
-
v1.19.3-0.20260512153737-3242ac42253c12 May 2026 pre-releaseNothing published for this version
-
v1.19.211 May 2026Release notes
Open source →Fixed
- Report module-scope code as
<module>instead of__main__in complexity output (#417) - Include
withcontext expressions in LCOM4 instance variable access detection (#419)
- Report module-scope code as
-
v1.19.108 May 2026Release notes
Open source →Fixed
- Tighten Type-2 clone classification to reduce class body false positives (#411)
- Preserve f-string interpolation expressions so LCOM4 detects
self.<ivar>accesses (#415)
-
v1.19.006 May 2026Release notes
Open source →Added
- Main sequence architecture metrics with abstractness, instability, and zone classification (#407)
Documentation
- Sync ja/zh schemas with AbstractClassCount field (#409)
-
v1.18.102 May 2026Release notes
Open source →Fixed
- Emit real line range for synthetic
__main__complexity record (#403)
Documentation
- Sync rule catalog and config reference with v1.13–v1.18 releases (#406)
- Emit real line range for synthetic
-
v1.18.029 Apr 2026Release notes
Open source →Added
- Package responsibility analysis with cohesion and SRP checks (#398)
Fixed
- Require text match for Type-1 clones and cap non-textual similarity (#399)
- Make clone trees expression-aware to avoid mismatched payloads (#401)
-
v1.17.028 Apr 2026Release notes
Open source →Performance
- Optimize complete-linkage grouping with sparse matrix and cached similarities (#391)
Fixed
- Make grouping clone-type tie breaks deterministic (#389)
Documentation
- Add user-facing documentation site with MkDocs Material (#387)
- Default to uvx and link README to docs site (#388)
- Add Japanese and Simplified Chinese translations (#392)
Testing
- Add clone detector benchmarks (#393)
CI
- Auto-assign PR author on open/reopen (#390)
-
v1.16.014 Apr 2026Release notes
Open source →Added
- DI (Dependency Injection) anti-pattern detection for Python code (#308)
Fixed
- Honor complexity config settings in analyze (#382)
- Preserve clone
show_contentconfig in analyze (#384)
Refactored
- Remove internal/config import from AnalyzeUseCase (#383)
- Reuse visited state in return reachability walk (#385)
-
v1.15.008 Apr 2026Release notes
Open source →Added
- Add raw code metrics to complexity analysis (#380)
Refactored
- Use system analysis in check command (#379)
-
v1.14.031 Mar 2026Release notes
Open source →Added
- Add Cognitive Complexity metric with SonarQube-style calculation (#370)
- Improve display of
__main__top-level code suggestions (#375)
Refactored
- Remove top suggestions from terminal output (#369)
- Refactor AnalyzeUseCase to depend on AnalyzeOutputFormatter interface (#376)
-
v1.13.1-0.20260324025427-410441c1202524 Mar 2026 pre-releaseNothing published for this version
-
v1.13.021 Mar 2026Release notes
Open source →Added
- Add neutral_prefixes config for architecture layer detection (#365)
Fixed
- Add missing IsAbstract and Description fields to TOML layer/rule types (#362)
- Use match position as tie-breaker in findLayerForModule (#361)
- Replace detectLayerFromModule heuristic with findLayerForModule (#360)
- Resolve layer misclassification for ambiguous module paths (#359)
- Propagate architecture layers and rules from TOML config (#356)
Refactored
- Extract color hex values into CSS custom properties and Go constants (#351)
Testing
- Add architecture layer integration tests (#363)
-
v1.12.003 Mar 2026Release notes
Open source →Added
- Add actionable suggestions to analyze output (#347)
Dependencies
- Bump the go-dependencies group with 2 updates (#349)
-
v1.11.122 Feb 2026Release notes
Open source →Fixed
- Generate default_config.toml dynamically from domain defaults (#343)
Style
- Restyle HTML output with professional data-first palette (#345)
Documentation
- Update README.md
-
v1.11.017 Feb 2026Release notes
Open source →Added
- Add LCOM4 class cohesion metric (#340)
- Show README badge snippet after health score output (#331)
Fixed
- Shorten HTML tab labels to prevent wrapping (#341)
- Exclude Type-3 from default enabled clone types (#338)
- Correct APTED key-root DP ordering (#337)
Performance
- Add Jaccard pre-filter to minimize APTED calls (#339)
Documentation
- Add algorithm documentation for all analysis engines (#330)
- Redesign README header with centered logo (#329)
Testing
- Add unit tests for MCP server handlers (#332)
-
v1.10.207 Feb 2026Release notes
Open source →Fixed
- Calibrate clone detection thresholds and scoring (#327)
- Improve CBO analysis with Union type support and score calibration (#326)
- Extend clone memory test timeout to 180s (#325)
-
v1.10.2-0.20260206140109-a90a6862b17906 Feb 2026 pre-releaseNothing published for this version
-
v1.10.105 Feb 2026Release notes
Open source →Added
- Add CFG support for Walrus operator (#322)
- Add missing error code constants (#320)
Fixed
- Improve config file discovery from target paths (#323)
Enhanced
- Add test coverage for ast_features.go (#321)