Skip to content

Releases: jakobwesthoff/ntropy

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 29 Jun 16:16
Prepare release v1.3.0

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 27 Jun 14:51

1.2.0 - 2026-06-27

Added

  • ntropy maintains a root .gitignore listing the derived materialized view directories, so committing a vault no longer tracks them. The entries stay in sync with the configured views through init, reconcile, and view add/view remove, lines you add to the file yourself are never touched.

Changed

  • Materialized views now refresh incrementally. After a mutation (and during reconcile), each view is diffed against its on-disk tree and only the links that actually changed are touched, instead of tearing down and regenerating every view tree from scratch. Unchanged links keep their identity, and a mutation's filesystem cost is proportional to what changed rather than to the whole vault. On a 3000-note vault with two views (Apple M1), this cuts a mutation or reconcile from roughly 820 ms to 135–150 ms (about 5–6×), with the saved time being almost entirely filesystem syscalls. reconcile's summary now reads synced N views rather than rebuilt N views.
  • view remove no longer deletes the view's directory. ntropy never deletes a directory: it prunes the view's .gitignore entry and leaves the now-stale directory in place, reporting it so you can delete it yourself. reconcile likewise prunes entries for views removed from config without touching their directories.

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 13:28
Prepease release v1.1.0

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 11:26
Fold edit into search as a hidden alias

`search`/`list` now resolves a full ULID or a query and is the single open
entry point: a single match opens directly, several open the picker, and
piped/`-n` prints the table without opening an editor. `edit` survives only as
a hidden alias.

A selector or listing that matches nothing now exits non-zero with the message
on stderr, so `search <x> && …` branches correctly. `delete` keeps the strict
"exactly one or fail" resolution.