Added
- AppImage builds now carry update information (GH #222), so
appimageupdatetool(and AppImageUpdate) can update Tine in place. Each
release also publishes the matching.zsyncfile. Delta updates work from
one release that has this metadata to the next, so the first usable update
is the one after this release.
Fixed
- Large graphs no longer do reference and rename work on the UI thread
(GH #233, #235, #236). Page-title blur now commits the same conflict-safe
rename as Enter, repeated commits are suppressed, and reference lookups use a
reconstructible in-memory candidate index with exact verification and a safe
full-scan fallback. Linked References use Logseq-compatible disclosure
defaults; Unlinked References precompute in the background while remaining
collapsed. - Opening Backups no longer hashes every saved snapshot (GH #234). The list
reads cheap manifest metadata in a blocking worker, while restoring still
verifies the selected snapshot before changing graph files. The panel now
exposes loading and retryable error states. - File-backed block rows now keep stable runtime identity (GH #232) across cold loads, cache rebuilds, references, merges, and publish snapshots without adding synthetic
id::properties. - IME composition now commits finalized block text once (GH #237), avoiding
intermediate graph writes and duplicate trailing-input commits. - Template date expressions now understand natural language (GH #226), so
<% next monday %>,in 5 days, and similar English expressions expand to
journal links using the graph's configured journal-title format. Unknown
placeholders remain intact. - Reference-only page names now contribute namespace descendants (GH #229),
so the namespace sidebar,{{namespace}}, and a page's Hierarchy section show
linked child paths even when no child file exists. All Pages remains file-only. - Android 9 can load Tine's native library (GH #192). The earlier fix
covered the backup path but missed a secondrenameat2call in the trash
path, so v0.6.4 could still fail before launch. Both paths now use the
API-compatible syscall entry point, and release CI checks the final APK for
this class of loader regression. - Ctrl+F no longer reselects the query after every typed character
(GH #224). The field still selects its contents when Ctrl+F is invoked again,
but ordinary debounced search updates leave the caret and selection alone. - Task slash commands replace the block's task marker (GH #225), rather
than appending literal text such asDONEafter an existingTODO. The
shared marker operation preserves priority and block properties.
Download an installer for your platform below. Windows and Linux ship both x64 and ARM64 builds (match your CPU). Windows users who prefer no installer can grab the portable Tine_*-portable.zip for their architecture. macOS and Windows builds are currently unsigned, so their operating systems may show a warning on first launch. On macOS, if Tine repeatedly asks to access Documents, see the workaround in the README.