Highlights
New analysis mode: /understand-figma (#559) — by @gruming
Point the tool at a Figma file and get the same navigable knowledge graph you get for code: pages → screens → components/variants/instances, plus a light design-system model (design tokens and uses_token edges). Deterministic parsing via the Figma REST API, LLM enrichment via a new design-analyzer agent, screen thumbnails in the dashboard sidebar, incremental UP_TO_DATE re-runs, and FIGMA_TOKEN kept strictly in the request header. Schema additions are backward compatible (6 node types, 3 edge types, kind:"design"). Follow-up fixes landed for real-API style-key bridging, published component keys, kind-scoped alias normalization, and dashboard edge-category filters.
Data directory renamed to .ua/ — fully backward compatible
Analysis artifacts now live in .ua/ instead of .understand-anything/. Projects analyzed by older versions need no migration: when a legacy .understand-anything/ directory exists it keeps being used for both reads and writes. The resolution rule is implemented once in core (resolveUaDir) and honored by every bundled script, skill, agent definition, hook, and the dashboard dev server.
New language support
- Dart (#435) and C++ test/benchmark ignore patterns (#480, #466) — by @thejesh23
- Scala (#553, from #493) and Swift (#537) — by @KumamuKuma
- Kotlin (#347) — by @tirth8205
- Modern TS type-declaration extraction fixes (#532) — by @jiang4wqy
New platform support
- Kiro (#364) — by @smjeong84
- Nanobot (#419) — by @chengyongru
- Trae (#235) — by @ZebangCheng
- Windows
install.ps1vibe support (#550) and Windows test portability (#531, #538, #551) — by @KumamuKuma
Merge-pipeline reliability
- Structural subdomain edges (
contains_flow/flow_step/cross_domain) are no longer silently dropped: loud warnings, a persistedmerge-report.json, and automatic retry on the next run (#529). - Batch files that load but contribute zero nodes/edges are flagged in the phase report instead of vanishing into a partial merge (#484).
- Karpathy wiki parser handles title-case
Index.md/Log.mdand article-root-prefixed[[wiki/...]]links (#342). - Cross-layer container layout cache fix (#541) — by @computersniper; UTF-8 domain context on Windows (#524) — by @multimail-dev; Phase 7 cleanup and scan-result preservation fixes (#387, #332) — by @tirth8205 and @ZebangCheng.
Security hardening
- Skill-injection ReDoS hardening (#557) — by @jiang4wqy
- Recursive subagent dispatch prevention (#560) — by @crow-1412
Pipeline performance & DX
- Semantic batching and output chunking (#204),
/understandpipeline perf (#346) — by @tirth8205 - Conversation-language auto-detection on first run (#378) — by @BozhengLong
- Config schema validation tests (#471) — by @yiziff; CI on Node 24 runtimes.
Full Changelog: v2.7.3...v2.9.0