Skip to content

Tine v0.2.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 12:48
· 35 commits to master since this release

The big one: Tine now opens, renders, and edits Org-mode graphs, gets real
in-block lists & checklists, learns to embed video/audio and manage media,
and handles custom journal date formats — on top of a round of data-safety and
performance hardening. Everything still round-trips your plain files; Tine never
takes over your graph.

Added

  • Org-mode support. Open, render, and edit .org pages and journals:
    headlines as blocks; org inline syntax (*bold*, /italic/, _underline_,
    ~code~, [[target][desc]]); TODO markers; #+BEGIN_SRC/QUOTE blocks; org
    tables; #+ page directives; inline timestamps; and admonitions/callouts.
    Mixed .md + .org graphs work, and the File format setting
    (:preferred-format) chooses what new pages/journals are created in. An .org
    file is only ever rewritten when Tine can reproduce it byte-for-byte
    anything it can't round-trip loads read-only, so it can never corrupt an
    org graph.
  • In-block Markdown lists & checklists. OG-faithful -/*/+ bullets and
    1. numbered lists inside a block, plus GFM [ ]/[x] checkboxes that are
    distinct from TODO tasks. Caret-context editing (Enter continues the list,
    re-indents, etc.), and numbered lists that number the block itself the way
    Logseq does — with the logseq.order-list-type property kept invisible.
  • Video & audio embeds. Insert media as assets with an inline player that
    falls back to a click-to-open chip when the platform lacks the codec
    (common on Linux/WebKitGTK).
  • Drag-and-drop files. Drop files from your OS file manager onto a block to
    insert them as assets.
  • Media management. Instant feedback when pasting an image; an
    orphaned-media scanner (Settings → Backups) that finds assets/ files no
    block references and moves them to a recoverable trash (clickable names, file
    dates, empty-trash button). New assets get human-readable, timestamped names.
  • Custom journal date formats. Tine now reads :journal/file-name-format and
    :journal/page-title-format, so graphs that previously "wouldn't load" (e.g.
    dd-MM-yyyy, yyyy-MM-dd, yyyyMMdd) open correctly; the display-title format
    is pickable in Settings → Journals & tasks.
  • Duplicate-day reconcile. If two files resolve to the same day (e.g. a
    2026_06_26.org plus a title-named Friday, 26-06-2026.org left over from a
    date-format change), Tine keeps both rather than silently dropping one, and
    Settings → Backups → Duplicate journal days lets you reach each file:
    Open it (editable, saves back to itself), Merge a stray into the
    canonical day, Rename it to a normal page, or Trash the redundant one.
  • Calculator block. An OG-style live, in-place calc block.
  • Sticky, closable toasts. Notifications that need attention stay until you
    dismiss them.

Changed

  • The agenda (Scheduled & Deadline in the journal) hides DONE/CANCELED
    items, matching Logseq.
  • SCHEDULED:/DEADLINE: are now detected anywhere in a block, not only on
    the first line — so the badge renders and agenda queries match either way.

Fixed

  • Rename is transactional and complete. A page rename + every
    [[ref]]/#tag/tags::/namespace rewrite across the graph commits
    all-or-nothing (re-checking each file just before writing, rolling back on
    conflict), handles self-references, and leaves refs inside code fences and
    bare URLs alone
    . Org [[file:…][desc]] link targets are rewritten too.
  • Context-menu "Rename page" now works (the WebKitGTK prompt was a silent
    no-op).
  • CRLF line endings round-trip — editing a Windows-authored file no longer
    flips every line and churns Syncthing diffs.
  • Linux AppImage: a Wayland EGL crash is auto-fixed at launch (no manual
    LD_PRELOAD needed).
  • Several editor caret/selection fixes (multi-line Shift+Down block selection,
    click-to-caret position, within-block Shift+Right).
  • Removed the per-file confirm when trashing media (it's recoverable and
    batch-friendly).

Reliability & performance

  • A data-safety audit pass closed concurrency and round-trip issues across the
    rename, derived-result cache, and org write paths; Tine never silently
    overwrites a file that changed on disk
    — it surfaces a conflict instead.
  • Inline parsing rewritten to be linear (was O(n²) on big blocks); the page cache
    and derived results are now Arc-shared; query/backlink invalidation is scoped
    to the pages that actually changed; per-block search/reference projections are
    memoized; and the launch backup is staggered off first-paint I/O.

Notes

  • macOS and Windows installers are currently unsigned — on macOS right-click →
    Open; on Windows choose More info → Run anyway.

Download an installer for your platform below. macOS/Windows builds are currently unsigned (right-click → Open on macOS; More info → Run anyway on Windows).