2026-03-07 00:22:54 -08:00
|
|
|
|
# Changelog
|
|
|
|
|
|
|
feat: v0.7–v0.9 — canvas, whiteboard, database, git sync, timeline, analytics, import/export, shortcuts, table editor
v0.7: GraphView rewrite (@blinksgg/canvas), WhiteboardView, DatabaseView (table/gallery/list), GitPanel, backlink context, dataview queries
v0.8: OutlinePanel, TimelineView, StatusBar (doc stats), TableEditor, RandomNote, link suggestions
v0.9: ImportExport (ZIP/folder), ShortcutsEditor (rebind+persist), GraphAnalytics (orphans/most-connected), note pinning
Backend: 15 new Rust commands, zip crate, rand crate
Frontend: 18 new components, ~1400 lines CSS
Dependencies: @blinksgg/canvas, jotai, graphology, d3-force
2026-03-08 22:57:57 -07:00
|
|
|
|
All notable changes to Graph Notes will be documented in this file.
|
2026-03-07 00:22:54 -08:00
|
|
|
|
|
feat: v0.7–v0.9 — canvas, whiteboard, database, git sync, timeline, analytics, import/export, shortcuts, table editor
v0.7: GraphView rewrite (@blinksgg/canvas), WhiteboardView, DatabaseView (table/gallery/list), GitPanel, backlink context, dataview queries
v0.8: OutlinePanel, TimelineView, StatusBar (doc stats), TableEditor, RandomNote, link suggestions
v0.9: ImportExport (ZIP/folder), ShortcutsEditor (rebind+persist), GraphAnalytics (orphans/most-connected), note pinning
Backend: 15 new Rust commands, zip crate, rand crate
Frontend: 18 new components, ~1400 lines CSS
Dependencies: @blinksgg/canvas, jotai, graphology, d3-force
2026-03-08 22:57:57 -07:00
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/), and this project adheres to [Semantic Versioning](https://semver.org/).
|
2026-03-07 00:22:54 -08:00
|
|
|
|
|
2026-03-11 18:11:09 -07:00
|
|
|
|
## [1.5.0] — 2026-03-11
|
|
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
- **Graph View Upgrade** — Complete rewrite using `@blinksgg/canvas` v3.0 with virtualized rendering
|
|
|
|
|
|
- **Note Graph Nodes** — Custom node type showing title, tag pills, link count badge, and cluster color
|
|
|
|
|
|
- **Cluster Group Nodes** — Collapsible `GroupNode` containers grouping related notes by community detection
|
|
|
|
|
|
- **Minimap** — Canvas overview with draggable viewport for large vault navigation
|
|
|
|
|
|
- **Layout Switcher** — Force-directed, tree, and grid layouts with animated transitions
|
|
|
|
|
|
- **Graph Search & Spotlight** — Type-to-search with non-matching nodes dimmed and camera fit-to-bounds
|
|
|
|
|
|
- **Edge Labels** — Wikilink context displayed on graph edges
|
|
|
|
|
|
- **MiniGraph Upgrade** — Sidebar preview upgraded to canvas v3.0
|
|
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
- `@blinksgg/canvas` updated to v3.0 from `gg-antifragile` repository
|
|
|
|
|
|
- `WhiteboardView` migrated to new `CanvasProvider` API
|
|
|
|
|
|
- `GraphView` reduced from 336 to ~120 lines
|
|
|
|
|
|
|
|
|
|
|
|
## [1.4.0] — 2026-03-11
|
|
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
- **Content Checksums (SHA-256)** — Per-note hashing with on-demand vault-wide verification against stored checksums
|
|
|
|
|
|
- **Vault Integrity Scanner** — Deep scan for truncated files, leftover `~tmp` files, orphaned `.graph-notes/` entries, and non-UTF-8 encoding issues
|
|
|
|
|
|
- **Automatic Backup Snapshots** — Vault-level `.zip` snapshots in `.graph-notes/backups/` with auto-pruning of old snapshots
|
|
|
|
|
|
- **Write-Ahead Log (WAL)** — Crash recovery via operation journal in `.graph-notes/wal.log` with startup replay
|
|
|
|
|
|
- **Conflict Detection** — mtime-based external modification check before writes; conflict banner with overwrite/discard options
|
|
|
|
|
|
- **Frontmatter Schema Validation** — Inline warnings for unclosed `---` delimiters, duplicate keys, and invalid date formats
|
|
|
|
|
|
- **Orphan Attachment Cleanup** — Scan `_attachments/` for files not referenced by any note, with bulk delete
|
|
|
|
|
|
- **File Operation Audit Log** — Append-only log of all create/update/delete/rename operations with timestamps
|
|
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
- Sidebar: added 🛡️ Integrity Report action
|
|
|
|
|
|
- Command Palette: added Verify Vault, Create Backup, Audit Log commands
|
|
|
|
|
|
- StatusBar: integrity badge showing checksum status
|
|
|
|
|
|
- Editor: conflict banner + frontmatter validation warnings
|
|
|
|
|
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
|
- Added `sha2` (Rust) for content hashing
|
|
|
|
|
|
|
2026-03-09 18:15:39 -07:00
|
|
|
|
## [1.0.0] — 2026-03-09
|
|
|
|
|
|
|
|
|
|
|
|
### 🎉 First Stable Release
|
|
|
|
|
|
|
|
|
|
|
|
Graph Notes reaches 1.0 — a local-first, graph-based note-taking app built with Tauri, React, and Rust.
|
|
|
|
|
|
|
2026-03-11 11:02:01 -07:00
|
|
|
|
### Hardened
|
|
|
|
|
|
- **Atomic writes** — all file saves use write→fsync→rename→fsync-parent to prevent corruption on crash/power loss
|
|
|
|
|
|
- **Path validation** — `safe_vault_path()` applied to all 20 file-access commands, preventing directory traversal
|
|
|
|
|
|
- **Filename sanitization** — `safe_name()` rejects path separators in workspace, canvas, and attachment names
|
|
|
|
|
|
- **Note-switch save race** — debounced save now captures note path at call time, preventing old content from being written to wrong note
|
|
|
|
|
|
- **Save pipeline consistency** — slash command insert and image paste now route through the standard debounced save with `domToMarkdown()`
|
|
|
|
|
|
- **Git error handling** — `git_status`, `git_commit`, `git_init` now check exit codes and surface stderr on failure
|
|
|
|
|
|
- **Silent error swallowing** — fixed 2 `let _ = fs::write()` sites to propagate errors
|
|
|
|
|
|
- **Panic prevention** — replaced `unwrap()` with `unwrap_or_default()` on fallible `file_name()` calls
|
|
|
|
|
|
- **Export safety** — `export_vault_zip` skips in-progress `~tmp` atomic write files
|
|
|
|
|
|
- **Regex performance** — all 10 per-call `Regex::new()` migrated to `LazyLock` statics
|
|
|
|
|
|
|
2026-03-09 18:15:39 -07:00
|
|
|
|
### Fixed
|
|
|
|
|
|
- **Rust compilation** — resolved duplicate `dirs_config_path()` definition and removed reference to unlinked `dirs` crate
|
|
|
|
|
|
- **Content Security Policy** — replaced `null` CSP with a proper baseline policy allowing local resources and Google Fonts
|
|
|
|
|
|
- **Canvas dependency** — updated `@blinksgg/canvas` to correct local file path
|
|
|
|
|
|
|
|
|
|
|
|
### Removed
|
|
|
|
|
|
- **Dead code** — removed unused `cache.rs` module (196 lines) that was never compiled (no `mod cache;` declaration, missing `notify` crate dependency)
|
|
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
- **README** — replaced Vite template boilerplate with comprehensive project documentation
|
|
|
|
|
|
- **.gitignore** — added `src-tauri/target/` and `vault/` exclusions
|
|
|
|
|
|
- **Version** — bumped from 0.9.0 → 1.0.0 across `package.json`, `Cargo.toml`, and `tauri.conf.json`
|
|
|
|
|
|
|
feat: v0.7–v0.9 — canvas, whiteboard, database, git sync, timeline, analytics, import/export, shortcuts, table editor
v0.7: GraphView rewrite (@blinksgg/canvas), WhiteboardView, DatabaseView (table/gallery/list), GitPanel, backlink context, dataview queries
v0.8: OutlinePanel, TimelineView, StatusBar (doc stats), TableEditor, RandomNote, link suggestions
v0.9: ImportExport (ZIP/folder), ShortcutsEditor (rebind+persist), GraphAnalytics (orphans/most-connected), note pinning
Backend: 15 new Rust commands, zip crate, rand crate
Frontend: 18 new components, ~1400 lines CSS
Dependencies: @blinksgg/canvas, jotai, graphology, d3-force
2026-03-08 22:57:57 -07:00
|
|
|
|
## [0.9.0] — 2026-03-09
|
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
|
|
|
|
|
|
|
|
|
|
### Added
|
feat: v0.7–v0.9 — canvas, whiteboard, database, git sync, timeline, analytics, import/export, shortcuts, table editor
v0.7: GraphView rewrite (@blinksgg/canvas), WhiteboardView, DatabaseView (table/gallery/list), GitPanel, backlink context, dataview queries
v0.8: OutlinePanel, TimelineView, StatusBar (doc stats), TableEditor, RandomNote, link suggestions
v0.9: ImportExport (ZIP/folder), ShortcutsEditor (rebind+persist), GraphAnalytics (orphans/most-connected), note pinning
Backend: 15 new Rust commands, zip crate, rand crate
Frontend: 18 new components, ~1400 lines CSS
Dependencies: @blinksgg/canvas, jotai, graphology, d3-force
2026-03-08 22:57:57 -07:00
|
|
|
|
- **Import/Export Hub** — Export vault as ZIP, import .md folders from Obsidian/Notion
|
|
|
|
|
|
- **Keyboard Shortcuts Editor** — View, rebind, persist all keyboard shortcuts
|
|
|
|
|
|
- **Graph Analytics** — Stats dashboard with orphan detection, most-connected notes, link density
|
|
|
|
|
|
- **Note Pinning** — Pin notes to sidebar top, persisted to `.graph-notes/pinned.json`
|
|
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
- Sidebar: added 📊 Analytics action
|
|
|
|
|
|
- Command Palette: added Graph Analytics, Import/Export, Keyboard Shortcuts commands
|
|
|
|
|
|
- Backend: added `export_vault_zip`, `import_folder`, `save_shortcuts`, `load_shortcuts`, `get_pinned`, `set_pinned`
|
|
|
|
|
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
|
- Added `zip` crate (Rust)
|
|
|
|
|
|
|
|
|
|
|
|
## [0.8.0] — 2026-03-09
|
|
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
- **Outline Sidebar** — Collapsible heading tree (H1–H6) with click-to-scroll and active heading tracking
|
|
|
|
|
|
- **Timeline View** — Chronological note cards grouped by date with 7d/30d/1y filters
|
|
|
|
|
|
- **Document Statistics** — Status bar with word count, characters, lines, reading time, heading count
|
|
|
|
|
|
- **Markdown Table Editor** — Visual table grid with click-to-edit cells, add/remove rows/columns, Tab navigation
|
|
|
|
|
|
- **Random Note** — 🎲 Discover random notes from sidebar or command palette
|
|
|
|
|
|
- **Link Suggestions** — Backend `suggest_links` for wikilink auto-completion
|
|
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
- Sidebar: added 📅 Timeline and 🎲 Random Note actions
|
|
|
|
|
|
- Command Palette: added Timeline, Random Note commands
|
|
|
|
|
|
- Backend: added `suggest_links`, `list_notes_by_date`, `random_note` commands
|
|
|
|
|
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
|
- Added `rand` crate (Rust)
|
|
|
|
|
|
|
|
|
|
|
|
## [0.7.0] — 2026-03-09
|
|
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
- **Canvas Whiteboard** — Freeform visual thinking surface powered by `@blinksgg/canvas` with card/text nodes, drag, zoom, save/load
|
|
|
|
|
|
- **Database Views** — Notion-style table/gallery/list views from frontmatter properties with sort/filter
|
|
|
|
|
|
- **Backlink Context** — Paragraph-level excerpts around wikilink mentions in backlinks panel
|
|
|
|
|
|
- **Dataview Queries** — Inline ` ```dataview TABLE ... SORT ... ``` ` blocks rendering live query tables
|
|
|
|
|
|
- **Git Sync** — commit/push/pull panel with status indicator, changed file list, repo initialization
|
|
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
- **GraphView rewritten** using `@blinksgg/canvas` (replaces custom HTML5 Canvas force simulation)
|
|
|
|
|
|
- Sidebar: added Database, Whiteboard quick actions
|
|
|
|
|
|
- Command Palette: added Database View, New Whiteboard, Git Sync commands
|
|
|
|
|
|
- Backlinks now use backend `get_backlink_context` for paragraph excerpts
|
|
|
|
|
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
|
- Added `@blinksgg/canvas`, `jotai`, `graphology`, `d3-force`
|
|
|
|
|
|
|
|
|
|
|
|
## [0.6.0] — 2026-03-09
|
|
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
- **Tabbed Editor** — Multi-note tab bar with drag-reorder, close buttons, active tab highlighting
|
|
|
|
|
|
- **Note Refactoring** — Extract selection to new note (replaces with wikilink), merge notes (appends + updates links)
|
|
|
|
|
|
- **Encrypted Notes** — AES-256-GCM password protection with Argon2 key derivation, lock/unlock button in editor
|
|
|
|
|
|
- **Spaced Repetition Flashcards** — Study mode from `?? question :: answer ??` syntax, SM-2 scheduling, difficulty ratings
|
|
|
|
|
|
- **Heading Folding** — Fold state persistence per note via `.graph-notes/folds.json`
|
|
|
|
|
|
- **Custom CSS Snippets** — Live-preview CSS editor, persisted in `~/.config/graph-notes/custom.css`
|
|
|
|
|
|
- **Workspace Layouts** — Save/restore window arrangements in `.graph-notes/workspaces/`
|
|
|
|
|
|
- **Embeddable Widgets** — `{{progress:N}}` progress bars, `{{counter:N}}` badges, `{{toggle:on/off}}` indicators
|
|
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
- Editor supports right-click context menu for refactoring operations
|
|
|
|
|
|
- Command Palette extended with Flashcards, Custom CSS, and Save Workspace
|
|
|
|
|
|
- Sidebar quick actions include Flashcards
|
|
|
|
|
|
- Custom CSS loaded on mount via `useCustomCssInit` hook
|
|
|
|
|
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
|
- Added `aes-gcm`, `argon2`, `rand`, `base64` for encryption
|
|
|
|
|
|
|
|
|
|
|
|
## [0.5.0] — 2026-03-08
|
|
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
- **Kanban Board** — Visual task board from `- [ ]` / `- [/]` / `- [x]` items across vault, with drag-and-drop between Todo/In Progress/Done columns
|
|
|
|
|
|
- **Focus / Zen Mode** — Distraction-free writing (`⌘⇧F`): hides sidebar, breadcrumbs, meta, centers content at max 720px
|
|
|
|
|
|
- **Note Version History** — Auto-snapshots every 5 min, timeline sidebar with inline diff viewer (add/remove highlighting)
|
|
|
|
|
|
- **PDF Export** — Print-styled export via browser print dialog with clean typography
|
|
|
|
|
|
- **Global Search & Replace** — Find/replace text across vault with dry-run preview before applying (`⌘H`)
|
|
|
|
|
|
- **Local Backlink Graph** — Mini force-directed canvas in preview showing current note's 1-hop link connections
|
|
|
|
|
|
- **Writing Goals** — Per-note word count targets with gradient progress bar (red→yellow→green)
|
|
|
|
|
|
- **Syntax-Highlighted Code Blocks** — highlight.js with 8 languages, copy-to-clipboard button, dark theme
|
|
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
- Editor supports focus mode (hides chrome, centers content)
|
|
|
|
|
|
- Command Palette extended with Kanban, Focus Mode, Search & Replace, Export as PDF
|
|
|
|
|
|
- Sidebar quick actions include Kanban Board
|
|
|
|
|
|
- Auto-snapshot on save (throttled to 1 per 5 min)
|
|
|
|
|
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
|
- Added `highlight.js` for syntax highlighting
|
|
|
|
|
|
|
|
|
|
|
|
## [0.4.0] — 2026-03-08
|
|
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
- **Frontmatter & Properties Panel** — YAML `---` fenced metadata with inline key-value editor (collapsible panel below breadcrumbs)
|
|
|
|
|
|
- **Table of Contents** — Auto-generated outline from headings, shown alongside preview mode with active heading highlight
|
|
|
|
|
|
- **Mermaid Diagram Rendering** — Fenced `mermaid` code blocks render as SVG diagrams in preview mode (lazy-loaded)
|
|
|
|
|
|
- **Image & Attachment Support** — Paste images from clipboard, stored in `_attachments/` directory with `` markdown
|
|
|
|
|
|
- **Slash Commands** — Type `/` at line start to open inline formatting menu (14 commands: headings, lists, code blocks, mermaid, tables)
|
|
|
|
|
|
- **Calendar View** — Visual month grid for daily notes with dot indicators, "Today" button, and click-to-create
|
|
|
|
|
|
- **Theme Picker** — 5 built-in themes (Dark Purple, Dark Emerald, Dark Ocean, Dark Rose, Light) with live preview, persisted
|
|
|
|
|
|
- **Export to HTML** — Export current note as styled standalone HTML file
|
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
|
|
|
|
|
|
|
|
|
|
### Changed
|
feat: v0.7–v0.9 — canvas, whiteboard, database, git sync, timeline, analytics, import/export, shortcuts, table editor
v0.7: GraphView rewrite (@blinksgg/canvas), WhiteboardView, DatabaseView (table/gallery/list), GitPanel, backlink context, dataview queries
v0.8: OutlinePanel, TimelineView, StatusBar (doc stats), TableEditor, RandomNote, link suggestions
v0.9: ImportExport (ZIP/folder), ShortcutsEditor (rebind+persist), GraphAnalytics (orphans/most-connected), note pinning
Backend: 15 new Rust commands, zip crate, rand crate
Frontend: 18 new components, ~1400 lines CSS
Dependencies: @blinksgg/canvas, jotai, graphology, d3-force
2026-03-08 22:57:57 -07:00
|
|
|
|
- Editor now includes PropertiesPanel, TableOfContents sidebar, and SlashMenu
|
|
|
|
|
|
- Command Palette extended with Calendar, Theme, and Export HTML commands
|
|
|
|
|
|
- Sidebar quick actions include Calendar View
|
|
|
|
|
|
- Added `⌘T` keyboard shortcut for Theme Picker
|
|
|
|
|
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
|
- Added `mermaid` for diagram rendering
|
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
|
|
|
|
|
feat: v0.7–v0.9 — canvas, whiteboard, database, git sync, timeline, analytics, import/export, shortcuts, table editor
v0.7: GraphView rewrite (@blinksgg/canvas), WhiteboardView, DatabaseView (table/gallery/list), GitPanel, backlink context, dataview queries
v0.8: OutlinePanel, TimelineView, StatusBar (doc stats), TableEditor, RandomNote, link suggestions
v0.9: ImportExport (ZIP/folder), ShortcutsEditor (rebind+persist), GraphAnalytics (orphans/most-connected), note pinning
Backend: 15 new Rust commands, zip crate, rand crate
Frontend: 18 new components, ~1400 lines CSS
Dependencies: @blinksgg/canvas, jotai, graphology, d3-force
2026-03-08 22:57:57 -07:00
|
|
|
|
## [0.3.0] — 2026-03-08
|
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
|
|
|
|
|
|
|
|
|
|
### Added
|
feat: v0.7–v0.9 — canvas, whiteboard, database, git sync, timeline, analytics, import/export, shortcuts, table editor
v0.7: GraphView rewrite (@blinksgg/canvas), WhiteboardView, DatabaseView (table/gallery/list), GitPanel, backlink context, dataview queries
v0.8: OutlinePanel, TimelineView, StatusBar (doc stats), TableEditor, RandomNote, link suggestions
v0.9: ImportExport (ZIP/folder), ShortcutsEditor (rebind+persist), GraphAnalytics (orphans/most-connected), note pinning
Backend: 15 new Rust commands, zip crate, rand crate
Frontend: 18 new components, ~1400 lines CSS
Dependencies: @blinksgg/canvas, jotai, graphology, d3-force
2026-03-08 22:57:57 -07:00
|
|
|
|
- **Split Editor** — Open two notes side by side with a draggable divider (right-click → "Open in split")
|
|
|
|
|
|
- **Wikilink Hover Preview** — Hover over `[[wikilinks]]` to see a floating preview card with note content and link count
|
|
|
|
|
|
- **Note Transclusion** — `![[note-name]]` embeds the content of another note inline, with recursive depth limiting (3 levels)
|
|
|
|
|
|
- **Vault Switcher** — Click sidebar brand to switch between recent vaults or open a new folder
|
|
|
|
|
|
- **Drag & Drop File Organization** — Drag notes between folders in the sidebar file tree
|
|
|
|
|
|
- **Breadcrumb Navigation** — Path breadcrumbs shown above the editor for nested notes
|
|
|
|
|
|
- **Note Templates** — Create notes from templates in `_templates/` directory via Command Palette (supports `{{title}}` and `{{date}}` variables)
|
|
|
|
|
|
- **Recent Notes** — Last 5 recently opened notes shown in the sidebar
|
|
|
|
|
|
- **Favorites** — Pin notes as favorites (right-click → "Favorite"), persisted per vault in `.graph-notes/favorites.json`
|
|
|
|
|
|
- **Open in Split Pane** — Right-click context menu option to open a note in a side-by-side view
|
|
|
|
|
|
|
|
|
|
|
|
### Changed
|
|
|
|
|
|
- Note view now uses `SplitView` component, supporting both single-pane and dual-pane editing
|
|
|
|
|
|
- Context menu expanded with "Favorite" and "Open in split" actions, plus visual divider
|
|
|
|
|
|
- Command Palette shows template commands when available
|
|
|
|
|
|
- `LinkPreview` component renders as a global overlay for all hover previews
|
|
|
|
|
|
|
|
|
|
|
|
## [0.2.0] — 2026-03-08
|
2026-03-07 00:22:54 -08:00
|
|
|
|
|
|
|
|
|
|
### Added
|
feat: v0.7–v0.9 — canvas, whiteboard, database, git sync, timeline, analytics, import/export, shortcuts, table editor
v0.7: GraphView rewrite (@blinksgg/canvas), WhiteboardView, DatabaseView (table/gallery/list), GitPanel, backlink context, dataview queries
v0.8: OutlinePanel, TimelineView, StatusBar (doc stats), TableEditor, RandomNote, link suggestions
v0.9: ImportExport (ZIP/folder), ShortcutsEditor (rebind+persist), GraphAnalytics (orphans/most-connected), note pinning
Backend: 15 new Rust commands, zip crate, rand crate
Frontend: 18 new components, ~1400 lines CSS
Dependencies: @blinksgg/canvas, jotai, graphology, d3-force
2026-03-08 22:57:57 -07:00
|
|
|
|
- **Full-Text Search** — Vault-wide content search in the sidebar (debounced, with context snippets and result ranking)
|
|
|
|
|
|
- **Command Palette** — `⌘K` / `Ctrl+K` opens a fuzzy search palette for notes, commands, and content
|
|
|
|
|
|
- **Keyboard Shortcuts** — `⌘N` new note, `⌘G` graph view, `⌘D` daily note, `⌘E` toggle edit/preview, `⌘\` toggle sidebar
|
|
|
|
|
|
- **Note Rename** — Right-click context menu on notes in sidebar for inline rename with automatic wikilink updates across vault
|
|
|
|
|
|
- **Note Delete** — Right-click context menu with confirmation dialog; navigates away if active note deleted
|
|
|
|
|
|
- **Tags System** — `#tag` extraction from notes, sidebar tags section with click-to-filter, emerald-colored tag pills in editor
|
|
|
|
|
|
- **Graph Filtering** — Filter bar to highlight matching nodes, focus mode (1-hop neighborhood), orphan node toggle
|
|
|
|
|
|
- **Inline Markdown Styling** — Headings (`# ## ###`) render at proper sizes in edit mode, `**bold**`, `*italic*`, `` `code` `` styled inline
|
|
|
|
|
|
- **List Continuation** — Pressing Enter after `- item` auto-inserts bullet on next line
|
|
|
|
|
|
- **Tab Indent/Outdent** — Tab and Shift+Tab for list item indentation
|
|
|
|
|
|
- **Collapsible Sidebar** — Toggle sidebar visibility with `⌘\`
|
2026-03-07 08:40:16 -08:00
|
|
|
|
|
|
|
|
|
|
### Changed
|
feat: v0.7–v0.9 — canvas, whiteboard, database, git sync, timeline, analytics, import/export, shortcuts, table editor
v0.7: GraphView rewrite (@blinksgg/canvas), WhiteboardView, DatabaseView (table/gallery/list), GitPanel, backlink context, dataview queries
v0.8: OutlinePanel, TimelineView, StatusBar (doc stats), TableEditor, RandomNote, link suggestions
v0.9: ImportExport (ZIP/folder), ShortcutsEditor (rebind+persist), GraphAnalytics (orphans/most-connected), note pinning
Backend: 15 new Rust commands, zip crate, rand crate
Frontend: 18 new components, ~1400 lines CSS
Dependencies: @blinksgg/canvas, jotai, graphology, d3-force
2026-03-08 22:57:57 -07:00
|
|
|
|
- Edit/Preview mode is now global (shared via context), toggled with `⌘E` from anywhere
|
|
|
|
|
|
- Search input shows `⌘K` hint for command palette discovery
|
|
|
|
|
|
|
|
|
|
|
|
## [0.1.0] — 2026-03-07
|
|
|
|
|
|
|
|
|
|
|
|
### Added
|
|
|
|
|
|
- **Tauri v2 Desktop App** — Local-first note-taking with full filesystem access via `tauri-plugin-fs`
|
|
|
|
|
|
- **Contenteditable Editor** — Rich inline editing with `[[wikilink]]` token chips (compact pills that unwrap on backspace/delete)
|
|
|
|
|
|
- **Wikilink Autocomplete** — Type `[[` to fuzzy-search and link notes; creates new notes if no match found
|
|
|
|
|
|
- **Force-Directed Graph View** — Canvas-based visualization with semantic zoom (circles → rounded-rect cards with note previews)
|
|
|
|
|
|
- **Graph Interactions** — Single-click animates zoom to node, double-click opens note, drag to reposition nodes
|
|
|
|
|
|
- **shadcn-Inspired Design System** — Zinc-based neutrals, purple accent gradients, focus rings, spring transitions
|
|
|
|
|
|
- **Sidebar** — Recursive file tree with search, collapsible folders, active-state indicators, note count badge
|
|
|
|
|
|
- **Backlinks Panel** — Lists all notes linking to current page with highlighted context snippets
|
|
|
|
|
|
- **Markdown Preview** — Toggle between edit and rendered preview modes with inline wikilink rendering
|
|
|
|
|
|
- **Daily Notes** — Auto-generated daily journal entries accessible from sidebar shortcut
|
|
|
|
|
|
- **Auto-Save** — Debounced 500ms save on every keystroke
|
|
|
|
|
|
- **Custom Scrollbars** — Minimal 5px scrollbars matching the dark theme
|