Dev Log

What we ship, when we ship it.

v1.2.0 — App Store Ready

Kavya is heading to the Mac App Store. All sharing features now work inside Apple’s sandbox: email export opens your default mail client via mailto:, HTML column export uses a save dialog instead of writing directly to iCloud Drive, and clipboard operations show confirmation toasts so you know the copy worked.

The markdown preview gains zoom controls — click + / to resize text from 60% to 200%, and Kavya remembers your preference across sessions. The notes list no longer jumps or flickers during background refreshes; a fingerprint check now skips re-renders when nothing has actually changed.

All user content in exported HTML is now properly escaped, closing a potential XSS vector in kanban column exports.

v1.0.0 — The 1.0 Release

Kavya hits 1.0. After months of daily releases, the app is stable, fast, and feature-complete enough to earn the version number. This release focuses on polish and production readiness: Cmd+1/2/3/4 view switching now uses native Tauri menu accelerators, so shortcuts work reliably even when the Action Board has focus.

Configurable toolbars let you right-click the markup bar or top toolbar to show/hide individual buttons. Bullet list, numbered list, blockquote, strikethrough, and inline code are now available as optional toolbar actions. Cmd+N creates a sheet in the active folder, while Ctrl+N always creates in Inbox — so you can file on the fly or capture fast.

v0.31.0 — Native Rust Scan & App Store Foundations

The vault scanner has been rewritten in Rust using walkdir and rayon for parallel file parsing. A vault with 118,000 files (87 MB) now scans in ~4 seconds, down from ~50 seconds in JavaScript. Content loads lazily in background batches after the UI renders, keeping startup instant.

New under-the-hood features: virtual scrolling for the sheet list (smooth performance with thousands of sheets), a keyboard shortcuts modal (Cmd+/), tag autocomplete when editing frontmatter, and haptic feedback for drag-and-drop on supported trackpads.

The App Store dual-build system is now in place: a separate config, entitlements file, and provisioning profile let you build for TestFlight while keeping the local development workflow unchanged. Claude Code CLI was removed from the AI Chat panel — all three remaining providers (Claude API, OpenAI, Gemini) use your own API keys.

v0.27.0 — Backlinks, Notifications & Recurring Task Fixes

The backlinks panel now shows rich context snippets with highlighted [[wikilinks]] and click-to-scroll navigation. Set reminder times on any kanban card — pick a quick time (Morning, Midday, etc.) or enter a custom one. You get an in-app slide-down banner plus a native macOS notification when the app is backgrounded.

Recurring tasks received eight bug fixes: overdue tasks now fast-forward to the next future date instead of creating past occurrences, weekly recurrence wraps correctly across week boundaries, and drag-drop no longer destroys recurrence schedules. The vault scan is significantly faster for large vaults (21K+ files) with O(1) lookups and batched I/O. A new Monokai theme joins the palette, and sidebar sections can now be sorted A-Z.

v0.26.0 — Themes, Timers & Stability

Kavya now ships with four built-in themes: Light, Dark, Sepia, and Ocean. Cycle through them with one click. The writing timer supports multiple concurrent timers — run several countdowns at once, each with its own stop button and a combined label showing the soonest one.

Drag folders between sections by dropping them on Active, On Hold, or Archive headers in the sidebar. The text selection toolbar now shows the standard Cut / Copy / Paste actions, while the overflow (…) button retains the full formatting menu. A critical stability fix stops Dropbox sync from triggering repeated vault rescans that caused sheets to jump around in the list.

v0.25.0 — Conflict Engine & Glue Sheets

Kavya now handles cloud sync conflicts gracefully. When iCloud Drive, Dropbox, OneDrive, or Syncthing creates duplicate files, Kavya detects them by matching frontmatter IDs and resolves them automatically. Identical content is silently cleaned up, non-overlapping edits are merged, and overlapping edits open a side-by-side resolver where you pick Keep Left, Keep Right, or Keep Both. Zero data loss — every version is snapshotted before merging.

Glue sheets let you combine multiple sheets into a single continuous editing view — like Scrivener’s Scrivenings mode. Recurring tasks auto-create the next occurrence when you complete one. Version history snapshots your work every five minutes and lets you browse, preview, and restore previous versions from the context menu. A new style check toggle flags passive voice, adverbs, and weasel words inline as you write.

v0.24.0 — Inline Card Editing & Stability

Double-click any kanban card to edit its full Markdown content right on the board — no need to switch to the editor. The inline editor supports the full sheet content, saves on blur, and cancels cleanly with Escape. Single-click still navigates to the editor as before.

This release also fixes several stability issues: drag-and-drop on the Schedule board no longer reverts after a few seconds (a polling race condition was overwriting persisted tag changes), calendar-dated cards are now draggable between columns, trashed sheets no longer reappear after deletion, and switching from Tasks to Notes mode no longer leaves the editor blank.

v0.23.0 — Board Search & Production Fix

The Action Board gains search across all views. Press / in Schedule, Week, or Calendar to filter cards instantly — non-matching cards dim out, arrow keys navigate between hits, and Enter opens the selected sheet. The same search UI works consistently across every board view.

A week start toggle lets you choose Monday or Sunday as the first day. The board now runs full-width in tasks mode, using every pixel of the window. Under the hood, a critical production bug was fixed where the Action Board appeared completely blank in installed builds — caused by WKWebView reporting zero height on the editor panel.

v0.22.0 — Large File Performance & Board View Tabs

Large file performance gets a major overhaul. Vaults with files over 1 MB (like an 78 MB reference document) now handle rescans instantly thanks to mtime-based caching — unchanged files are never re-read from disk. Per-keystroke stats recomputation and inline keyword scanning are skipped for large files, and preview extraction only reads the first 500 characters instead of the full content.

The Action Board gains file-cabinet style view tabs — Schedule, Week, Calendar, and Activity tabs sit at the top of every board view, letting you switch between views instantly without returning to the sidebar. New sheets now place the cursor right after the # heading, ready to type.

v0.21.0 — Swipe Navigation & Column Resize

Trackpad swipe gestures are back — swipe left to progressively hide panels (full layout → sheets+editor → zen mode → Action Board) and right to reverse. Reaching editor-only state automatically enters zen mode for distraction-free writing. A right-swipe shortcut from full layout jumps straight to the Action Board.

Ulysses-style column resize handles appear between panels on hover. Drag to resize, double-click to snap back to defaults. Widths persist across sessions. New email export lets you send sheets as attachments via Apple Mail. The kanban board now has inline card creation — the + button opens a title input right in the column instead of creating a blank sheet.

Groups gain a third section: Archive (in addition to Active and On Hold). A calendar alert dot blinks when items are due today. Title editing is now rock-solid — a subtle bug that silently skipped saves after file renames has been fixed, along with a watcher issue that created duplicate sheets.

v0.20.0 — Inline Images & Editor Polish

Images now render directly in the editor, replacing the raw Markdown syntax. No more staring at ![alt](attachments/long-filename.jpg) — you see the image. Hover to reveal a delete button (×). The image button in the markup bar now opens a file picker to insert images without touching the attachments panel.

Editor improvements: native macOS spell check, Find & Replace (Cmd+H), cursor and scroll position restore when reopening sheets, and Ctrl+J to toggle between Notes and Action Board from anywhere. Sheet sort preferences now persist across sessions.

The Library ↔ Action Board switch is now instant — DOM caching and removal of CSS animations eliminated the 400ms delay. Save failures now show an alert instead of failing silently.

v0.19.0 — Active & On Hold

The library sidebar now splits into two collapsible sections: Active and On Hold. Move groups between them to keep your workspace focused on what matters right now, without losing track of paused projects.

System folders (Inbox, Journal, Templates, Tasks) are now pinned to the top of the sidebar and can't be accidentally dragged or reordered. The Tasks folder also gets automatic migration from the old flat structure.

v0.18.0 — Schedule Panel, Onboarding & Calendar Quick-Add

Right-click context menus now open side-by-side submenus instead of stacking vertically. Faster to navigate, easier to scan.

The Action Board gains a calendar quick-add button: click + on any date to create a sheet scheduled for that day. Combined with the new schedule panel in the editor sidebar, managing your writing calendar has never been smoother.

Session persistence means Kavya remembers whether you were in Notes or Tasks mode when you quit. And for new users, a guided onboarding tour walks through the interface with spotlight highlights on first launch.

v0.16.8 — Stability, Instant Trash & Inbox Aging

This release focuses on reliability. Group stability improvements fix edge cases with drag-and-drop reordering and nested groups. Scroll position is now preserved when switching between sheets.

Instant trash gives immediate visual feedback when you delete a sheet. No more waiting for the list to refresh.

A subtle but useful addition: inbox age tinting. Sheets in your Inbox now shift color over time (grey to orange to red), a gentle visual nudge to process them before they pile up.

v0.16.0 — Calendar View & Keyboard Shortcuts

The Action Board gets a proper calendar view. See your scheduled sheets laid out by date in a monthly grid. Sheets tagged with calendar and a calendarDate appear on the right day automatically.

Two new shortcuts: Ctrl+N creates a new note instantly (no dialog), and Ctrl+D creates today's daily note. The kanban drag-and-drop is also fixed for nested sub-groups, and vault scanning is now incremental (only re-parses files that changed on disk).

v0.15.0 — The Prose Writing Engine

Today Kavya becomes a proper prose writing tool. We bundled six beautiful variable fonts — Inter, iA Writer Duo, Literata, Source Serif 4, JetBrains Mono, and Roboto Mono — so your writing looks great out of the box, no system font lottery.

Smart typography now converts straight quotes to curly quotes or guillemets, -- to em dashes, and ... to proper ellipsis as you type. You can pick your preferred style in the new typography panel.

Focus mode got a major upgrade: it now dims by paragraph instead of by line, matching how prose writers actually think. Combined with new list and blockquote continuation (Enter continues - , 1. , > prefixes automatically), writing in Markdown finally feels fluid.

Two more things: smart paste converts HTML from the web into clean Markdown (bold, links, headings, lists, code blocks), and sentence navigation (Ctrl+. / Ctrl+,) lets you jump between sentences with abbreviation-aware detection.

v0.14.1 — Typography, Chat Tabs & Kanban Polish

The new typography panel (the Aa button in the markup bar) gives you direct control over font family, font size, line height, and letter spacing. Settings persist across sessions, so your writing environment is always exactly how you left it.

Chat tabs land today. You can now run multiple named chat sessions, switch between them, rename or delete them — each tab keeps its own model and history. Perfect for keeping a brainstorming session separate from an editing session.

The Action Board gets instant actions: remove, move, and trash cards with immediate visual feedback. No more waiting for the board to refresh. You can also trash sheets directly from the board with undo support, and drag group headers to move entire groups between columns.

Small but satisfying: right-click any group or reference file to Reveal in Finder.

v0.14.0 — Persistent CLI & Live Editing

This changes everything about how Kavya talks to Claude Code. Instead of spawning a new process for each message, Claude Code now runs as a persistent background process with streaming JSON. Your conversation persists across messages without restarting.

Even better: the CLI can now edit your active sheet on disk and changes reload in the editor automatically. You write, you ask Claude to help, Claude edits, you see the changes — all without leaving your flow.

The CLI also inherits all your user-configured tools including MCP servers (RAG, databases, anything). If you can use it in your terminal, you can use it in Kavya.

v0.13.0 — Multi-Model AI Chat

Kavya now speaks to four AI providers from a single resizable panel on the right side of your editor:

  • Claude — Sonnet 4.5, Haiku 4.5 (can directly edit your document)
  • OpenAI — GPT-4o, GPT-4o Mini, o3-mini
  • Google Gemini — 2.0 Flash, 2.0 Pro
  • Claude Code CLI — uses your subscription, full filesystem access, no API key needed

All providers stream responses in real-time via SSE. The chat panel uses a warm beige theme inspired by claude.ai, with a gear icon for managing API keys per provider.

Claude API mode includes tool use — it can insert, replace, or rewrite sections of your document directly. Ask it to "make this paragraph shorter" and watch it happen.

v0.12.2 — Action Board & Calendar

The Action Board brings Kanban to your writing workflow. Organize sheets into five columns — Inbox, Today, Week, Month, Someday — and drag them between columns to plan your work. A calendar view lets you schedule sheets by date.

The best part: you can share entire columns to your phone. Send a column to Apple Notes as a synced checklist, export it as a beautiful HTML file to iCloud Drive, copy as plain text, copy as a rich HTML card for Apple Notes, or copy as a PNG image. Your writing plan goes wherever you go.

v0.12.1 — Wikilinks, Attachments & Navigation History

Type [[ and a fuzzy-search dropdown appears with all your sheets. Recently visited sheets show first when there's no query. Wikilinks are now first-class citizens in Kavya.

The attachments panel got a complete performance overhaul: staggered loads, blob URLs for images, and regex-based backlink search make it fast even with thousands of sheets.

Navigation history is here — back/forward arrows on the editor edges and Cmd+[ / Cmd+] shortcuts to revisit sheets you've been working on. Just like a browser, but for your notes.

v0.11.0 — Claude Chat & Deep Links

AI chat arrives in Kavya with two modes. CLI mode uses your existing Claude Code subscription at no extra cost. API mode hits the Anthropic Messages API directly with tool use, so Claude can edit your document in-place.

We also shipped deep links: every sheet now has a kavya://sheet/<id> URL. Press Cmd+L to copy a sheet's link and paste it anywhere — clicking it opens Kavya and jumps straight to that sheet.

Reference files (PDFs, EPUBs) get a proper right-click menu with Delete, Move to, and Open Externally. Drag-and-drop is smarter too: files now land in the selected group instead of always going to Inbox, with duplicate detection.

v0.10.0 — Research Files & Ulysses Export

Drop PDFs and EPUBs into any group and read them without leaving Kavya. The EPUB reader includes page navigation. Research files stay visually separate from your notes, so your writing space stays clean.

Coming from Ulysses? We built a direct Ulysses export importer — bring your entire library over without losing structure.

Drag-and-drop gets a polish pass: import multiple files at once, automatic group detection, and better visual feedback during drags. The editor picks up improvements too, including better undo handling and scroll position memory.

v0.9.0 — The Knowledge Tools Update

Inspired by what Obsidian gets right, this release adds the tools that turn a writing app into a knowledge system:

  • Quick Switcher (Cmd+O) — fuzzy-search and jump to any sheet instantly
  • Command Palette (Cmd+Shift+P) — every action, searchable
  • Wikilinks — type [[ to link between sheets
  • Backlinks — see every sheet that links to the current one
  • Daily Notes — one shortcut creates today's journal entry
  • Templates — create sheets from reusable templates

All of these work with plain Markdown files on disk. No proprietary database. No cloud dependency. Your knowledge graph is just a folder of .md files.

v0.7.0 — Hello, World

Kavya is live. A local-first Markdown writing app built with Tauri 2, designed around one principle: your vault is a folder, every note is a .md file.

What shipped today:

  • Three-panel layout — Library, Sheets, Editor
  • CodeMirror 6 editor with syntax highlighting
  • Nested groups mapped to real directories on disk
  • Writing goals with animated progress ring
  • Tags stored in YAML frontmatter
  • Split view — edit two sheets side by side
  • Full-text search across all sheets
  • Outline panel with drag-to-reorder
  • Export to Markdown, HTML, PDF, DOCX
  • Trash with restore
  • Dark and light themes
  • Focus mode and typewriter mode

No account. No cloud. No lock-in. Download the DMG and start writing.

Start writing locally. No account needed.

Download for macOS — Free

Kavya    Built with Tauri