# Changelog All notable changes to Lokus 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). ## [1.3.0] - 2026-08-04 ### Added — Plugin System v3 - Plugins now run in a dedicated Worker: no DOM, no IPC, no access to your notes, tokens, or files unless you grant it. The old same-realm runtime is gone. - **Ask Screen**: every install and enable lists the plugin's requested capabilities (read notes, network, overlay, …) and requires your explicit approval. Unchecked capabilities are denied forever until you allow them. - Capability gate checks every plugin request against your grants; denied calls are recorded and visible in the new per-plugin console (logs + blocked calls). - Declarative contribution points: commands (palette), slash commands, status-bar items, editor toolbar, side/bottom panels, and transparent always-on-top overlay windows. - Activation events — plugins boot lazily on `command:` / `view:` / `file:` triggers instead of all at startup. - Crashing plugins get three strikes and are stopped; the app keeps running. - `lokus-plugin-sdk@3.0.0`: typed v3 API, manifest v3 types, `definePlugin`, templates, and testing mocks. SDK major now matches the manifest `apiVersion` it speaks. ### Changed - Plugin identity is a single `id`: installs folder-named by manifest id; legacy manifests (no `apiVersion: 3`) are listed as unsupported and never execute. - Deep-link and registry installs require confirmation before any code is fetched or run. ### Removed - ~38k lines of unreachable/half-built plugin subsystems (five overlapping systems, fake sandbox, imperative panel manager) and their tests. ### Known gaps - Plugin auto-updates are manual for v1; package signing lands with registry-side infra; the CLI still scaffolds legacy plugins (its output is refused by the v3 host). ## [1.2.0] - 2026-07-31 ### Performance - Boot payload cut from 9.10 MB to 1.58 MB. Excalidraw (7 MB) and Sentry (390 KB) no longer load at startup — the canvas arrives when you open one, and crash reporting is not shipped at all unless it is switched on - Saves no longer block the UI. On macOS a non-`async` Tauri command runs on the main thread; file writes fsynced there twice, once for the file and once for a redundant `.backup` copy - No more "Loading…" on launch. The editor view was lazily loaded behind a separate chunk that only started downloading after the sidebar had painted - Bases, Kanban, Canvas, Calendar and Daily Notes are warmed while the app is idle, so the first click opens them instead of showing a spinner - The vault crosses the IPC bridge once on workspace open instead of once per markdown file plus a second full read - The file tree no longer mounts a full context menu per row — one menu now serves the whole tree, and rows re-render only when their own state changes - The sync cache can now register a hit. It compared stored file sizes against a hardcoded `0`, so it re-read and re-hashed the entire vault every five minutes - Directory listing runs as a single blocking walk rather than four awaits per entry - Search skips `.lokus/`, `.git/` and `node_modules/` instead of walking into them - The graph simulation stops when no view is showing it, and the document outline follows editor updates rather than watching the whole editor DOM - Dependencies are compiled optimised in development builds ### Graph - Rewritten around a single engine shared by every view, replacing three separate implementations. The sidebar preview and the full graph tab now always agree on layout and cost one simulation between them - Live updates — a new `[[link]]` slides into place instead of re-exploding the graph, and positions survive filtering - Backlinks are resolved from an inverse map with context snippets, instead of scanning the vault ### Interface - Vellum design language applied across the app - All 14 settings pages rebuilt on one design system, everything visible on a single page rather than hidden behind accordions - Editor settings apply live to open windows — no save step, no reload - Rewritten workspace launcher with keyboard navigation, type-to-filter and `⌘1`–`⌘9` - A Welcome tab stands in when nothing is open, so the tab bar is never an empty strip - Resizing a sidebar no longer selects the text in the middle of the window ### Removed - The Git and Iroh sync systems, replaced by Sync V2 below ### Math Graphing System - `.graph` file format — JSON-based graph files with expressions, variables, viewport, and settings - MathGraphEditor — full Desmos-style graph editor with 2D plotting via JSXGraph + math.js - Expression engine — parses explicit (`y=`), implicit, parametric, polar, and 3D surface types - Sliders and variables — interactive parameter controls in the graph sidebar - Graph sidebar — expression list, color picker, visibility toggles, variable sliders - Viewport sanity checks — clamps blown-out ranges, prevents feedback loops from function domains ### Graph Embedding in Markdown - `<>@file.graph` syntax — type expressions inline, pick a .graph file from dropdown - `<<` Tab completion — ghost text hints guide through the template (`y=expr>>@file.graph`) - `>>@` dropdown — shows only `.graph` files with KaTeX-rendered math expressions instead of filenames - "Create new graph" button in dropdown — inline input to name and create a new .graph file on the spot - GraphLink node — inline atom in ProseMirror, renders expressions with KaTeX + teal waveform icon - Click to open — clicking a graph link opens the `.graph` file in a new editor tab - Hover preview — floating popup with SVG-rendered graph thumbnail (grid, axes, colored curves) - Preview generator — pure SVG rendering from graph data without JSXGraph, with 5-min TTL cache ### Sync V2 - Manifest-based sync replacing per-file DB rows - 1 workspace per user model with 6-hour cooldown on switches - Offline queue with reconnect drain - Cross-window mutex via localStorage heartbeat - Soft delete to `.lokus/trash/` with 30-day cleanup ### Files and Editing - Plain `.txt` files open and edit alongside markdown - Long-press opens the context menu on touch devices - Guest mode is the default on first run, with onboarding wired up ### Bug Fixes - **Version history never worked.** Backups were written under one filename and looked for under another, so no version could be restored and none were ever cleaned up — leaving `.lokus/backups` to grow without bound - **Maths did not render offline in reading mode.** It depended on a global that only existed when a stylesheet and script were fetched from a CDN; KaTeX is now bundled with the app - Notes could come back blank after changing editor settings - Fixed GraphFileManager path resolution — relative paths now resolve against workspace root - Fixed `lokus:open-file` event passing object instead of string path - Fixed ProseMirror nodeView stale closure — added `update()` method for live attr updates - Fixed setState-during-render warning in MathGraphEditor - Fixed hardcoded function domain (-1000, 1000) blowing out saved viewports ## [1.0.2] - 2026-03-01 Maintenance release with bug fixes for TabBar, KanbanList, and editor. ## [1.0.1] - 2026-01-26 ### 📱 iOS & Mobile Support - **iOS Mobile App** - Full native iOS app with optimized touch experience - **Mobile Bottom Navigation** - Thumb-friendly navigation bar for mobile devices - **Safe Area Support** - Proper handling for iPhone notch and Dynamic Island - **Haptic Feedback** - Native touch feedback throughout the app - **Responsive UI** - Adaptive font sizes, tab widths, and touch-optimized controls - **Mobile Optimizations** - Hidden terminal panel and git menu on mobile devices - **Touch Media Queries** - Better touch target sizes and interactions ### 📅 Calendar Integration (New!) - **Native Google Calendar** - Connect and sync with Google Calendar directly - **iCal/CalDAV Support** - Sync with Apple Calendar, Outlook, Fastmail, and other CalDAV providers - **Intelligent Sync** - Smart calendar syncing with conflict resolution and deduplication ### 🔐 Authentication - **Supabase Authentication** - New secure authentication system - **Login Screen** - Clean, modern login flow with email/password ### ✍️ Editor & Writing - **Syntax Highlighting** - Code blocks now have proper language-aware highlighting - **Instant Content Rendering** - Inserted content renders immediately without reopening file - **Code Block Indentation** - Preserved correctly when copying and pasting - **Image Embed Autocomplete** - Smart image path suggestions with reference tracking ### 📂 File Management - **Multi-Select Operations** - Select multiple files with Shift/Cmd+click - **Kanban Context Menu** - Right-click actions for kanban board cards - **Drag & Drop to Root** - Drop files directly to workspace root folder - **Create in Open Folder** - New files created inside the currently selected folder ### 🔌 Plugin System - **Complete Plugin SDK** - Full API implementation for plugin developers - **Plugin System Overhaul** - Improved CLI, SDK, and runtime architecture - **Stability Fixes** - Resolved 363 failing tests across plugin APIs and templates ### 🖼️ Canvas - **Canvas Links** - Reference `.canvas` files from Markdown with live preview support ### 🎨 UI/UX Improvements - **Tooltips** - Added to all icon-only buttons for better accessibility - **Loading Indicators** - Visual feedback for server status and template actions - **Server-Pushed Toasts** - Enhanced notifications powered by Sonner - **Lokus Dark Theme** - New built-in dark theme option - **WikiLink Dialog** - Responsive autocomplete that works on all screen sizes - **Link Navigation** - Fixed wikilink and internal link navigation issues - **Better Error Messages** - Meaningful feedback in Kanban, Search, and throughout ### 🏗️ Infrastructure & Stability - **Auto-Update Signing** - Fixed code signing for automatic updates - **Centralized Version Management** - Single source of truth for app version - **Mac App Store Compatibility** - Proper handling for MAS distribution - **Node.js 22** - Upgraded runtime for better performance and compatibility - **Remote Configuration** - Server-side feature flags and announcements system - **Production Audit** - Complete pre-deployment security and stability fixes - **E2E Tests** - Re-enabled comprehensive end-to-end testing ### 📊 Analytics & Privacy - **PostHog Analytics** - Replaced Umami with focused, meaningful analytics - **Privacy Controls** - Analytics opt-out toggle in Preferences - **Session Recording Disabled** - Your notes and writing stay completely private - **Kill Switches** - Remote feature control for Canvas, Plugins, Sync, AI Assistant ### 📜 Licensing - **Fair Core License (FCL 1.0)** - Updated from BSL 1.1 for clearer open-source terms --- ## [2.1.0] - 2024-09-18 ### ⌨️ New Keyboard Shortcuts All shortcuts work on both Mac and Windows (Cmd on Mac = Ctrl on Windows): #### Tab Management - **`Cmd+Alt+Right`** - Next Tab (changed from Cmd+Tab for Mac compatibility) - **`Cmd+Alt+Left`** - Previous Tab - **`Cmd+Shift+T`** - Reopen Recently Closed Tab (Chrome-style) - **`Cmd+W`** - Close Current Tab - **`Cmd+Shift+W`** - Close All Tabs #### File Operations - **`Cmd+S`** - Save File - **`Cmd+N`** - New File - **`Cmd+Shift+N`** - New Folder - **`F5`** - Refresh File Tree #### Navigation - **`Cmd+K`** - Command Palette - **`Cmd+B`** - Toggle Sidebar - **`Cmd+F`** - Find in Note - **`Cmd+Shift+F`** - Global Search - **`Cmd+L`** - Insert WikiLink - **`Cmd+,`** - Open Preferences #### Views & Tools - **`Cmd+Shift+G`** - Open Graph View - **`Cmd+Shift+K`** - Open Kanban Board - **`Cmd+Shift+C`** - New Canvas - **`Cmd+/`** - Show Keyboard Shortcuts Help #### Graph View (when graph is active) - **`Cmd+K`** - Search Nodes - **`Cmd+R`** - Reset View - **`Cmd+1`** - 2D View Mode - **`Cmd+2`** - 3D View Mode - **`Cmd+3`** - Force Layout Mode - **`Space`** - Toggle Layout - **`Escape`** - Close Graph #### Modal Controls - **`Escape`** - Close Modal/Dialog - **`Enter`** - Confirm Action ### 🖱️ Context Menu System #### Right-click Menus - **Right-click anywhere** - Show context menu with: - Inspect Element (for debugging) - Copy Element Info - Clear Console - Reload Page - Context-specific options #### Developer Tools - **Shift + Right-click** - Show browser's native context menu - **Right-click → Inspect Element** - Highlight element and log to console as `$0` ### 🔄 Tab Management Features #### Reopen Closed Tabs - Remembers up to 10 recently closed tabs - Excludes special tabs (Graph, Kanban, Plugins) - Use `Cmd+Shift+T` to reopen most recent #### Smart Tab Navigation - Throttled switching prevents UI issues - Cycles through all open tabs - Works with mouse and keyboard ### ⚠️ Breaking Changes - **Tab Navigation**: `Cmd+Tab` changed to `Cmd+Alt+Right/Left` (Mac system conflict fix) - **Context Menu**: Right-click now shows custom menu (use `Shift+Right-click` for browser menu) ### 🐛 Bug Fixes - Fixed `Cmd+Shift+G` to open correct Graph View - Resolved Mac keyboard shortcut conflicts - Fixed shortcut help modal theming ## [1.0.3] - 2024-09-15 ### 🎯 Major Features #### 📋 Universal Template System - **Complete Template Engine** - Create, manage, and use text templates with variable substitution - **Template Creation Dialog** - Professional interface with live markdown preview - **Smart Template Workflow** - Select text → Cmd+K → "Save as Template" → Configure → Save - **Template Variables** - Built-in support for `{{date}}`, `{{time}}`, `{{datetime}}`, and `{{cursor}}` - **Category Organization** - Organize templates by category for better management - **Selection-based Creation** - Convert selected text directly into reusable templates #### 🔄 Universal Markdown Compiler - **Middleware Architecture** - Centralized markdown processing bypassing TipTap limitations - **Consistent Rendering** - Unified markdown compilation across all features - **Enhanced Compatibility** - Improved markdown detection and processing - **Template Integration** - Native markdown compilation for template preview #### ⚡ Enhanced Command Palette - **Template Integration** - Access and apply templates directly from command palette - **Command History** - Track and revisit recent commands across sessions - **Unified Workflow** - Single interface for all app operations - **Smart Search** - Improved command discovery and execution #### 📚 Modern Documentation Website - **Professional Design** - Clean, responsive documentation interface - **Sidebar Navigation** - Hierarchical organization of documentation sections - **Search Functionality** - Fast content discovery across all documentation - **Mobile Responsive** - Optimized reading experience on all devices ### 🛠 Technical Improvements #### Architecture Enhancements - **Shared Markdown Compiler** - Reusable markdown processing across features - **Selection-aware APIs** - Template creation from editor selection state - **Command History Persistence** - Local storage integration for command tracking - **Variable Resolution Engine** - Extensible system for template variable processing #### Performance Optimizations - **Efficient Template Rendering** - Optimized live preview updates - **Smart Re-rendering** - Reduced unnecessary component updates - **Debounced Operations** - Smooth user experience during rapid interactions ### 🐛 Bug Fixes - **Markdown Paste Detection** - Fixed issues with markdown content recognition - **Template Variable Parsing** - Improved variable substitution reliability - **Command Palette Focus** - Enhanced keyboard navigation and focus management - **Selection Handling** - Better text selection preservation during template operations ### 🎨 UI/UX Improvements - **Template Creation Interface** - Intuitive dialog with real-time preview - **Command Palette Design** - Enhanced visual hierarchy and interaction patterns - **Documentation Layout** - Professional sidebar navigation with improved readability - **Responsive Adaptations** - Better mobile and tablet experience ### 📁 File Organization - **Template Storage** - Organized template persistence and retrieval - **Documentation Structure** - Logical organization of help content - **Asset Management** - Efficient handling of documentation resources ### 🔮 Developer Experience - **Template API** - Clean interfaces for template operations - **Markdown Utilities** - Reusable compilation and processing functions - **Command System** - Extensible command registration and execution - **Documentation Tools** - Streamlined content creation and management ## [1.0.0] - 2024-09-14 ### 🚀 Initial Release Welcome to **Lokus v1.0.0** - A modern knowledge management and writing platform built with cutting-edge technology. ### ✨ Core Features #### 📝 Rich Text Editor - **Advanced TipTap Editor** with comprehensive formatting support - **Markdown Support** - Full compatibility with standard Markdown syntax - **Math Equations** - LaTeX/KaTeX rendering for inline `$x^2$` and block `$$E=mc^2$$` equations - **Wiki Links** - `[[page]]` syntax with intelligent autocomplete - **Task Management** - Interactive checkboxes and task lists - **Tables** - Resizable columns with full editing capabilities - **Code Blocks** - Syntax highlighting for 100+ programming languages - **Images** - Support for local and web URLs with drag-and-drop - **Advanced Formatting**: - Strikethrough `~~text~~` - Highlights `==text==` - Superscript `H^2^O` and subscript `H~2~O` - **Smart Paste** - Automatically converts Markdown to rich text #### 🎨 Theming & Customization - **Dual Theme System** - Light and dark modes - **Custom Themes** - Extensible theme architecture - **Real-time Preferences** - Live editor customization - **Responsive Design** - Optimized for all screen sizes #### 🔧 Plugin System - **Comprehensive Plugin Architecture** - Full extensibility framework - **Plugin Manager** - Install, enable, disable, and manage extensions - **Plugin Marketplace** - Discover new plugins (mockup ready for real marketplace) - **Security Framework** - Granular permissions and sandboxed execution - **Developer API** - Rich API surface for plugin development - **Hot Module Replacement** - Seamless development experience #### 📁 File Management - **Native File System** - Full access to local files and folders - **Workspace Management** - Organize your knowledge base - **Multiple Tabs** - Work with multiple documents simultaneously - **Auto-save** - Never lose your work - **Search Functionality** - Find content across your entire workspace #### 🛠 Advanced Features - **Smart Kanban Board** - Visual task management system - **Command Palette** - Quick actions and navigation - **Keyboard Shortcuts** - Efficient workflow acceleration - **Cross-platform** - macOS, Windows, and Linux support ### 🏗 Technical Architecture #### Frontend Stack - **React 19** - Latest React with modern hooks and patterns - **TipTap Editor** - Extensible rich text editor framework - **Tailwind CSS** - Utility-first styling with custom design system - **Vite** - Lightning-fast build tool and HMR #### Backend Stack - **Tauri v2** - Modern desktop app framework with Rust backend - **Rust** - Memory-safe, high-performance native operations - **Native APIs** - File system, clipboard, and OS integration #### Testing & Quality - **Comprehensive Test Suite**: - Unit tests with Vitest - End-to-end tests with Playwright - CI/CD with GitHub Actions - **Performance Optimized**: - Lazy loading for large documents - Debounced operations - Efficient re-renders ### 🔒 Security Features - **Plugin Sandboxing** - Isolated execution environment - **Permission System** - Granular access controls - **Path Traversal Protection** - Secure file system access - **Input Validation** - Comprehensive sanitization ### 📦 Installation & Distribution - **Native Installers** - Platform-specific installation packages - **Automatic Updates** - Seamless update mechanism (ready for future releases) - **Portable Mode** - Run without installation - **Professional Packaging** - Signed binaries and proper metadata ### 🎯 Target Users - **Writers & Authors** - Rich text editing with distraction-free writing - **Researchers** - Knowledge management with wiki-style linking - **Students** - Note-taking with math equations and task management - **Developers** - Technical documentation with code syntax highlighting - **Teams** - Collaborative knowledge bases and project documentation ### 🚧 Known Limitations - Graph view temporarily disabled due to performance optimization - Plugin marketplace uses mock data (infrastructure ready for real marketplace) ### 🔮 Future Roadmap - Real-time collaboration - Cloud synchronization - Mobile companion apps - Advanced plugin marketplace - AI-powered writing assistance --- ### 📝 Development Notes - **Total Development Time**: 3+ months of intensive development - **Architecture**: Modern, scalable, and extensible - **Code Quality**: Comprehensive testing and documentation - **Performance**: Optimized for large documents and complex workflows ### 🙏 Acknowledgments Built with modern web technologies and the Rust ecosystem. Special thanks to the TipTap, Tauri, and React communities. --- **Download Lokus v1.0.0 and start organizing your knowledge today!** [Download for macOS] | [Download for Windows] | [Download for Linux]