2026-03-07 00:22:54 -08:00
|
|
|
|
# Changelog
|
|
|
|
|
|
|
2026-03-07 08:40:16 -08:00
|
|
|
|
All notable changes to this project will be documented in this file.
|
2026-03-07 00:22:54 -08:00
|
|
|
|
|
2026-03-07 08:40:16 -08:00
|
|
|
|
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).
|
2026-03-07 00:22:54 -08:00
|
|
|
|
|
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
|
|
|
|
## [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
|
|
|
|
|
|
|
2026-03-07 08:40:16 -08:00
|
|
|
|
## [0.2.0] - 2026-03-07
|
2026-03-07 00:22:54 -08:00
|
|
|
|
|
|
|
|
|
|
### Added
|
2026-03-07 08:40:16 -08:00
|
|
|
|
- **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)
|