Skip to content

Releases: LegacyCodeHQ/clarity-cli

v0.29.3

Choose a tag to compare

@github-actions github-actions released this 20 Jul 09:49

Changelog

🐞 Bug Fixes

  • Rust: The crate source root is now derived from Cargo target paths
  • Rust: Crate-root re-exported symbols now resolve to their defining file

⚙️ Internal

  • Oracle recall is now measured against in-scope edges

Full Changelog: v0.29.2...v0.29.3

v0.29.2

Choose a tag to compare

@github-actions github-actions released this 20 Jul 09:14

Changelog

✨ Features

  • Rust is now actively tested — Rust has been promoted from experimental to an actively tested language

🐞 Bug Fixes

  • Rust: Imports nested inside mod blocks and function bodies are now captured
  • Rust: pub use re-exports are now followed through foo.rs directory modules
  • Rust: mod.rs is retained when expanding a bare module import
  • Rust: Module re-exports now resolve from directory module files
  • Rust: Raw string literals are now handled by the import scanner
  • Rust: The scanner falls back to tree-sitter when the fast Rust scanner fails

⚙️ Internal

  • Added the Rust oracle-diff test harness

Full Changelog: v0.29.1...v0.29.2

v0.29.1

Choose a tag to compare

@github-actions github-actions released this 09 Jul 19:07

Changelog

🔒 Security

  • Bumped the Go toolchain to 1.26.5 to pick up a crypto/tls fix (GO-2026-5856)

Full Changelog: v0.29.0...v0.29.1

v0.29.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 18:46

Changelog

📄 License

  • Relicensed from AGPL-3.0 to Apache-2.0 — Clarity is now available under a permissive license, removing the copyleft and network-use requirements of the AGPL

📚 Documentation

  • Removed the Go Report Card badge, which has been sunset

Full Changelog: v0.28.1...v0.29.0

v0.28.1

Choose a tag to compare

@github-actions github-actions released this 03 Jul 12:11

Changelog

🐞 Bug Fixes

  • Swift: Top-level functions, let bindings, and operators are now indexed by the analyzer
  • Swift: Inner-scope declarations are no longer counted as references

Full Changelog: v0.28.0...v0.28.1

v0.28.0

Choose a tag to compare

@github-actions github-actions released this 01 Jul 09:19

Changelog

💥 Breaking release. clarity show and clarity watch now share one grammar, and several v0.27.0 commands and flags were removed. Read the Breaking Changes section before upgrading automated callers.

✨ Features

  • Unified show / watch grammar – Both commands now take positional [paths…] anchors and share the same lenses: --reach, --depth, --collapse, --all, --between, and --module
    • watch reached parity with show, gaining --reach, --depth/-l, --between/-w, --all, --collapse, --module/-m, --prune, --label, and --no-stats
    • watch intentionally has no --commit — a live view is always the working tree
  • Dependency reach--reach up|down|both walks the graph from an anchor, including upstream reach ("who depends on this file?"), which the old surface could not express
  • Module boundary direction--module renders a module's boundary with a chosen direction (none/in/out/both) and composes as a framing, not an exclusive anchor
  • Collapse into modules--all --collapse folds the whole tree into the modules declared in .clarity/modules.json
  • HTML language support added to the dependency graph
  • Machine-readable languageslanguages --format json emits the language and extension data the removed extensions command used to print
  • Hugo shortcodes in Markdownrelref/ref shortcodes now resolve to real links when building the graph
  • Experimental commands are now grouped last in --help

💥 Breaking Changes

Removed commands

Removed Replacement
clarity extensions clarity languages --format json (language + extension data)
clarity why <from> <to> Removed; no direct replacement.

Removed flags (show)

Removed Replacement
--input, -i <paths> positional [paths…]
--file, -p <file> positional <file> with --reach down
--level --depth, -l
--scope --reach down
--modules --collapse
--direction, -d --reach up|down|both (with --module)

Removed flags (watch)

Removed Replacement
--input, -i <paths> positional [paths…]
--direction, -d --orientation, -o

Migration at a glance

Old New
clarity show -i a b clarity show a b
clarity show -p file.go clarity show file.go --reach down
clarity show -p file.go --level 2 clarity show file.go --reach down --depth 2
clarity show --modules clarity show --all --collapse
clarity show --module auth -d both clarity show --module auth --reach both
clarity watch -i src clarity watch src
clarity watch -d LR clarity watch -o LR
clarity extensions clarity languages --format json

🐞 Bug Fixes

  • Commit snapshots: show now resolves modules, file anchors, and module members from commit snapshots instead of the working tree
  • Sessions: default to the most recent snapshot when switching sessions
  • Watch worktrees: recover discovery after stale worktrees and suppress the deleted graph for removed worktrees
  • Rust: phantom prod nodes stay solid
  • Node labels: graph lifecycle icons are now aligned
  • Benign watcher path-removal errors are no longer logged

🔒 Security

  • Bump dompurify to 3.4.11 (cmd/watch/web)
  • Bump esbuild, @sveltejs/vite-plugin-svelte, @tailwindcss/vite, and vite

⚙️ Internal

  • show snapshot resolution was centralized; watch worktree tabs are driven from a single near-free reconcile
  • ci: cache apt packages and the OSXCross toolchain in the release workflow

Full Changelog: v0.27.0...v0.28.0

v0.27.0

Choose a tag to compare

@github-actions github-actions released this 11 Jun 11:01

Changelog

✨ Features

  • Modules – List all modules with clarity modules, render a single module's view with --module, and opt into module rendering with --modules
    • Auto-discover module config from .clarity/modules.json
    • Sort the modules table by name or size with --sort-by name|size
    • See test and non-test file counts split out per module
    • Module boundaries now render as a directional box, drawn as a mermaid subgraph
  • --format option added to watch
  • Rename and move detection – Renames and moves are now detected from git status, marked with distinct icons, and collapsed to a single node across staged and unstaged changes
  • Deleted file rendering – Deleted and renamed files now appear in show and watch, with their pre-deletion edges reconstructed and deleted subtrees rendered
  • The watch web viewer now renders mermaid
  • cgo dependencies now resolve to sibling C sources
  • Cycle edges now render as solid lines

🐞 Bug Fixes

  • C# partial classes split across files now resolve correctly
  • Angle-bracket includes now resolve to project headers (C/C++)
  • Same-package Java static method call qualifiers now resolve
  • Same-package Kotlin top-level function calls now resolve
  • Bare TypeScript imports no longer incorrectly resolve to same-named local files
  • Go imports no longer resolve to sibling external test files

Full Changelog: v0.26.0...v0.27.0

v0.26.0

Choose a tag to compare

@github-actions github-actions released this 09 Jun 09:37

Changelog

✨ Features

  • Try out the new experimental cycles command to find circular dependencies in your codebase
  • Navigate the timeline using arrow keys
  • Watch archives now include commit history

🐞 Bug Fixes

  • Hardened Zig import resolution
  • Improved Java dependency resolution, including annotations and fully qualified references
  • TypeScript imports from Svelte files now resolve correctly
  • Arrow key timeline navigation now works in the web interface

Full Changelog: v0.25.0...v0.26.0

v0.25.0

Choose a tag to compare

@github-actions github-actions released this 04 Jun 17:54

Changelog

✨ Features

  • --module flag – collapse files into a single named node in your dependency graph
  • Original dependency edge labels are now preserved even when modules are collapsed
  • Module nodes can show file count and churn at a glance

🐞 Bug Fixes

  • Go types now link to their method providers defined in other files

🔒 Security

  • Bump Go toolchain to 1.26.4 to address 2 detected vulnerabilities (GO-2026-5039, GO-2026-5037)

Full Changelog: v0.24.1...v0.25.0

v0.24.1

Choose a tag to compare

@github-actions github-actions released this 04 Jun 02:15

Changelog

🔒 Security

  • Bump vite to 6.4.2 to patch CVE-2026-39363 (arbitrary file read via dev-server WebSocket).

Full Changelog: v0.24.0...v0.24.1