notes/CHANGELOG.md

65 lines
3.7 KiB
Markdown
Raw Normal View History

# 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**: 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)