# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.4.0] - 2026-03-07 ### Added - **VaultCache** (`src-tauri/src/cache.rs`): In-memory note cache with mtime-based invalidation - **`init_vault_cache`**: Eagerly scan all `.md` files and populate cache on startup - **`get_cache_stats`**: Return cache hits/misses/entry count for diagnostics - **Cache-backed commands**: `read_note`, `read_note_with_meta`, `build_graph`, `search_vault` now read from cache - **Frontend LRU cache** (`src/lib/noteCache.ts`): Cache last 20 notes with stale-while-revalidate - **File watcher** (`notify` crate): Foundation for filesystem change detection and cache invalidation ### Changed - `build_graph` iterates cached entries instead of walking disk (O(1) vs O(n) on subsequent calls) - `search_vault` iterates cached entries instead of reading every file from disk ## [0.3.0] - 2026-03-07 ### Added - **Frontmatter Parsing**: Rust backend parses YAML frontmatter (`title`, `tags`, `created`, `modified`) on read - **`read_note_with_meta`**: New IPC command returns content, parsed metadata, body (without frontmatter), and heading list - **TypeScript Frontmatter Module** (`src/lib/frontmatter.ts`): Client-side parse/serialize with `extractHeadings()` - **Outline / TOC Panel**: Right-side panel showing document headings with click-to-scroll and smooth highlight animation - **Tabbed Right Panel**: Switch between Outline and Backlinks views in the note editor - **Note Templates**: `_templates/` folder support; Command Palette lists templates and creates notes with `{{title}}`/`{{date}}` replacement - **Image Attachments**: Drag-and-drop images onto editor; saves to `vault/attachments/` and inserts markdown image link - **`list_templates`**: Rust command to scan `_templates/` folder for `.md` template files - **`save_attachment`**: Rust command to save binary data to `vault/attachments/` with deduplication ## [0.2.0] - 2026-03-07 ### Added - **Command Palette** (`Ctrl+K`): Fuzzy search notes and run commands with keyboard navigation (↑↓ Enter Esc) - **Keyboard Shortcuts**: `Ctrl+N` new note, `Ctrl+G` graph view, `Ctrl+D` daily note - **Full-Text Search**: Rust-powered vault content search with context snippets, displayed in sidebar - **Note Rename**: Right-click context menu in sidebar for renaming notes with automatic wikilink updates across vault - **Note Delete**: Context menu delete with confirmation dialog - **Editor: Heading Scaling**: H1–H3 headings render at proportional sizes in edit mode - **Editor: Task Lists**: Interactive checkboxes for `- [ ]` / `- [x]` syntax, clickable to toggle - **Editor: Inline Code**: Backtick-quoted text styled with monospace font and accent color - **Editor: Markdown Preview**: Styled headings, code blocks, and checkbox rendering in preview mode - **Graph Filtering**: Filter graph by folder and minimum link count with a dedicated filter bar ### Changed - Sidebar search upgraded to show both filename matches and content search results - Graph view header now reflects filtered node/edge counts ## [0.1.0] - 2025-06-01 ### Added - Tauri 2 desktop application with React 19 + Vite 7 - Contenteditable editor with inline wikilink tokens - Wikilink autocomplete dropdown (`[[` trigger) - Force-directed graph view with semantic zoom (circles → cards) - Sidebar with file tree, search filtering, and quick actions - Backlinks panel with context snippets - Daily notes with auto-creation - Auto-save with debounced writes - Custom CSS design system (dark theme, glassmorphism, purple accents)