Skip to content

Releases: sshah03/perspica

perspica 0.1.1

Choose a tag to compare

@github-actions github-actions released this 01 Oct 03:52

Scala support. .scala and .sc files now get the full semantic analysis: classes, case classes, objects, traits and enums, defs with every parameter list and default values, val/var, type aliases, imports with selectors, and Scala 3 given and extension. Tested on 21 merged pull requests across Spark, Scala 3, lila, Chisel, tapir, fs2, Play, Pekko, cats, metals, http4s, mill and zio.

Fixes, for every language

  • A renamed or removed name that is still defined elsewhere as a type or value (case class Opt(, object Opt {, val Opt =) is treated as ambiguous rather than reported as a stale reference.
  • Sidebar rows keep the method name visible when the class name is long: the owner shrinks first, and the file name gives way before the change text.
  • The terminal's reading order lists a class and its companion object once.

Install: cargo install perspica, or a binary below for macOS (Apple Silicon and Intel), Linux (x86_64 and arm64) or Windows.

perspica 0.1.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 20:15

First release.

perspica reads a diff the way a careful reviewer would: it parses both sides, works out what actually changed, sets the mechanical noise aside, and points at what a plain diff hides. Most of it needs no model; an LLM is an optional extra for intent, risk and a summary.

What's in 0.1.0

  • Semantic diff for TypeScript/JavaScript (incl. TSX/JSX), Python, Rust, Go, Java and C; other files as plain diffs.
  • Noise set aside: formatting, comment-only edits, rename-only lines, unchanged moves, generated and vendored files.
  • Every change named: renames, signature changes, dependency changes, extractions, moves, logic changes.
  • What a diff hides: stale references to renamed or removed names, calls not updated for a changed signature, code left unused.
  • A reading order from entry points down, and which changed functions the changed tests reach.
  • A local web viewer (--web) with unified and split views, and a terminal view.
  • Your own prompts from Claude Code or Codex sessions, and with an LLM, which changes you asked for and which the agent decided on its own.
  • Optional LLM analysis through Claude Code, an API key (Anthropic or OpenAI) or Ollama.

Install

  • cargo install perspica
  • or a binary below for macOS (Apple Silicon and Intel), Linux (x86_64 and arm64) or Windows.