What’s New

Understand-Anything v2.5.0

v2.5.0

v2.5.0 — Dashboard layout overhaul (ELK + lazy containers)

Added
  • Source code viewer with syntax highlighting accessible via slide-up code panel and file double-click
  • Path-allowlisted file content access gated by access token via `/file-content.json` endpoint
Changed
  • Dashboard graph layout uses ELK instead of dagre for structural-style views
  • Layer-detail view groups nodes into folder/community containers that lazy-expand on demand
  • Two-stage lazy layout renders container atoms first (~125ms at 500 nodes) then expands per-container on click, zoom, or search hit
  • Cross-container edges aggregate into single weighted edges that inflate when containers expand
  • Visual containers show search hit counts, diff impact via red border, and focus/selection via gold border
  • Containers implement keyboard accessibility as disclosure buttons with ARIA attributes
  • File double-click navigates the graph while preserving sidebar composition
  • DomainGraphView migrated to ELK with LR direction preserved
  • WarningBanner distinguishes graph data errors from dashboard rendering bugs
Fixed
  • Horizontal sprawl problem where layers with 50+ nodes rendered as single ~14000px row
  • Plugin root resolution hardened across install modes
  • Use printf instead of echo to pipe TOOL_INPUT into grep
  • Log skipped invalid gitignore patterns to stderr
  • Hero image extension in Astro homepage
  • File permissions on extract-domain-context.py
Deprecated
  • applyDagreLayout function slated for removal in next release
Highlights
Source code viewer (#108) — by @arkaigrowth

Slide-up code panel with syntax highlighting; double-click a file node to open. Path-allowlisted via the dev server's /file-content.json endpoint, gated by an access token. Thanks @arkaigrowth for designing and shipping this!

Dashboard graph layout overhaul (#111)

Replaces dagre with ELK across all structural-style views and reshapes the layer-detail view around folder/community containers that lazy-expand on demand. Fixes the long-standing horizontal-sprawl problem where layers with 50+ nodes rendered as a single ~14000px row.

  • Containers: layer-detail nodes are grouped by folder (Louvain community detection as fallback when folders are too flat). Each container renders as a translucent gold-bordered atom with the folder name and child count.
  • Two-stage lazy layout: Stage 1 lays out container atoms only (~125ms even at 500 nodes). Stage 2 runs ELK per container on demand — when you click, when you zoom past 1.0, or when search/focus/tour lands a hit inside.
  • Edge aggregation: cross-container edges collapse into a single weighted edge with count. Expanding a container inflates them back to file→file. Edges anchored to collapsed containers stay anchored to the container atom so nothing silently disappears.
  • Visual overlays: containers light up for search hits (count badge), diff impact (red border), and focus/selection (gold border).
  • Keyboard accessible: containers are real disclosure buttons (role="button", aria-expanded, Enter/Space).
  • Performance: dashboard main bundle stays at ~62KB gzipped (ELK split into a parallel-loaded chunk).
Other contributions since v2.3.1

Huge thanks to everyone who improved the project this cycle:

  • #95 — @0xnayuta: harden plugin root resolution across install modes.
  • #97 — @xiaolai: use printf instead of echo to pipe TOOL_INPUT into grep.
  • #98 — @xiaolai: log skipped invalid gitignore patterns to stderr.
  • #103 — @ZebangCheng: fix hero image extension in the Astro homepage.
  • #105 — @gustn99: README link refresh (Claude Code plugin).
  • #110 — @LukasWana: file permissions on extract-domain-context.py.
Other improvements
  • File double-click also navigates the graph; sidebar composition preserved when reopening the slide-up code viewer.
  • DomainGraphView migrated to ELK with LR direction preserved.
  • WarningBanner now distinguishes graph data errors (asks your agent to fix the JSON) from dashboard rendering bugs (links to the issue tracker).
Compat
  • No graph schema changes. Existing .understand-anything/knowledge-graph.json files load unchanged.
  • applyDagreLayout is @deprecated and slated for removal next release.
Full changelog

v2.3.1...v2.5.0

View original