v0.2.1

2026-04-02

  • Fixed a regression in 0.2.0 where caspira graph would panic on vaults containing circular links (A → B → A). Circular links are now reported once as a warning and the graph renders correctly.
  • Template variable {date} now respects the date_format setting in .caspira/config.toml. Default remains ISO 8601 (%Y-%m-%d).
  • Shell completions for fish now work correctly with subcommands.

v0.2.0

2026-03-14

  • Recursive link resolution. Links now resolve across the full vault tree, not just the current directory. A stem index is built at startup (≈18ms for 4,200 notes on M2).
  • Template variables. {date}, {title}, and {author} are substituted when running caspira new --template.
  • Graph rewrite. Adjacency map replaces Vec sort; DFS ordering from most-linked node. Handles 10,000+ note vaults without stalling.
  • Links inside fenced code blocks are no longer parsed as real links.
  • Non-ASCII filenames now work correctly on all platforms.
  • caspira check no longer panics on symlinks.

v0.1.2

2026-01-22

  • Fixed caspira check incorrectly reporting links to notes with uppercase extensions (.MD) as broken on case-sensitive filesystems.
  • Added --quiet flag to caspira check — exits with a non-zero code if broken links exist, prints nothing. Useful in pre-commit hooks.

v0.1.1

2025-12-11

  • Fixed a crash when the vault root contained a .git directory with submodules. Git directories are now always skipped.
  • Improved error message when .caspira/config.toml is malformed — now prints the line number and a description rather than a raw serde error.

v0.1.0

2025-11-20

  • Initial release.
  • caspira init — create a .caspira/ config directory in the current vault.
  • caspira check — report broken [[wiki-links]] in the current directory.
  • caspira graph — print an ASCII adjacency list of all note connections.
  • caspira new — create a note from a template.
  • Shell completions for bash, zsh, fish.