notes/CHANGELOG.md
enzotar d174c7f26d feat: v0.3 + v0.4 — frontmatter, templates, outline panel, vault cache
v0.3: Core file reading & markdown infrastructure
- Rust: read_note_with_meta, list_templates, save_attachment commands
- TypeScript: frontmatter.ts (parse/serialize YAML, extract headings)
- OutlinePanel with click-to-scroll headings + tabbed right panel
- CommandPalette: New from Template with {{title}}/{{date}} replacement
- Editor: image drag-and-drop to attachments/
- 130 lines of CSS for outline panel and right panel tabs

v0.4: File reading & caching
- Rust: VaultCache (cache.rs) with mtime-based invalidation
- Rewrote read_note, read_note_with_meta, build_graph, search_vault to use cache
- init_vault_cache (eager scan on startup), get_cache_stats commands
- Frontend LRU noteCache (capacity 20, stale-while-revalidate)
- notify crate added for filesystem watching foundation
2026-03-07 09:54:08 -08:00

3.7 KiB
Raw Blame History

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[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: H1H3 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)