Added
- CLI
write <note> --stdin(replace the text; a changed title renames the file and updates[[links]]; a concurrent edit becomes a conflict copy and an error; empty input is refused) andappend <note> [text|--stdin]. - CLI
restore <note>,--limit Nforls/search,textincat --json;newrefuses a title that already exists unless--duplicateis given. - Prebuilt release tarballs for Linux x86_64 (glibc, musl), Linux aarch64, and macOS (Apple Silicon, Intel), with SHA-256 sums.
- A note renamed on disk (
mv, ortnotes writechanging the title) keeps its tab in a running TUI; unsaved edits in that tab become a conflict copy next to the new file. - Quitting with a note that cannot be saved (disk full, permissions) writes its text under the state directory (
…/tnotes/unsaved/) and reports the path instead of losing it; trash, folder delete and reload refuse to proceed after a failed save.
Fixed
ls --jsonon a large vault resolved backlinks quadratically (2 s for 500 notes); now linear (40 ms).- CLI:
--tag '#work'works fornew,lsandsearch(leading#stripped); a blank title is rejected instead of creatinguntitled.md;append "- item"no longer trips the argument parser. - Clicking a row in a scrolled overlay (folder browser, backlinks, move picker) hit the wrong entry.
- Pasting while the settings page was open went into the hidden editor.
- With emacs keys,
ctrl+c/ctrl+qnow also quit from the settings page. - External updates of an open note keep the cursor position instead of jumping to the top.
editor.widthfrom the config is clamped to 40..=160 like the settings page does.
Full changelog: v1.2.0...v1.3.0