Changelog
Version history
v0.2.1
2026-04-02
- Fixed a regression in 0.2.0 where
caspira graphwould 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 thedate_formatsetting 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 runningcaspira 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 checkno longer panics on symlinks.
v0.1.2
2026-01-22
- Fixed
caspira checkincorrectly reporting links to notes with uppercase extensions (.MD) as broken on case-sensitive filesystems. - Added
--quietflag tocaspira 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
.gitdirectory with submodules. Git directories are now always skipped. - Improved error message when
.caspira/config.tomlis 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.